【问题标题】:autocomplete AttributeError: 'Polygon' object has no attribute '_meta'自动完成属性错误:“多边形”对象没有属性“_meta”
【发布时间】:2021-11-05 22:58:14
【问题描述】:

如何解决这个问题?

在 validate_commune 字段=('名称',)), /my_venv/lib/python3.6/site-packages/django/core/serializers/base.py”,第 94 行,在序列化中 具体模型 = obj._meta.concrete_model AttributeError:“多边形”对象没有属性“_meta”

#models.py

类维拉亚(models.Model): id = models.BigIntegerField() 名称 = models.CharField(max_length=75)`` geom = models.MultiPolygonField(srid=4326) matricule=models.BigIntegerField(primary_key=True,null=False)
def str(自我): 返回自己的名字

class Commune(models.Model):
    id = models.BigIntegerField()
    name = models.CharField(max_length=75)
    geom = models.MultiPolygonField(srid=4326)
    wilaya=models.ForeignKey(Wilaya,on_delete=models.DO_NOTHING,null=True)
    def __str__(self):
       return self.name


#views.py 

def validate_commune(request):
    commune=request.GET.get('id_commune',None)  
    data={
        serialize('geojson',Commune.objects.get(id=int(commune)).geom, 
        geometry_field='geom',
        fields=('name',)),
    }
    return JsonResponse(data)

【问题讨论】:

    标签: class serialization autocomplete geojson meta


    【解决方案1】:

    通过在中添加名称字段解决了问题:

    #forms.py
    labels={
    'name':_("Name :"),
    ...
    }
    def __init__(self, *args, **kwargs):
       super().__init__(*args, **kwargs)
       self.helper = FormHelper()
       self.helper.layout = Layout(
          Row(
              Column('name', css_class='form-group col-md-2 mb-0'),
              ...
              css_class='form-row'
              ),
      Submit('submit', 'Register')
      )
    

    【讨论】:

      猜你喜欢
      • 2020-07-05
      • 2022-09-23
      • 2011-06-23
      • 1970-01-01
      • 2013-03-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多