簡體   English   中英

AttributeError:模塊“ django.db.models”沒有屬性“ MultiPolygonField”

[英]AttributeError: module 'django.db.models' has no attribute 'MultiPolygonField'

我面臨的問題是:

AttributeError: module 'django.db.models' has no attribute 'MultiPolygonField'. 

當我嘗試makemigrations時,它是由django拋出的。 遷移的舊文件(僅完成了1個makemigrations文件)。 因此Django出於某種原因考慮,我導入了django.db.models而不是django.contrib.gis.db

我的models.py代碼有問題(關閉原因代碼在“ geom”字段行上中斷)

from django.contrib.gis.db import models
from renter.models import *
from classification_list.models import*

class ForestryKeys(models.Model):

    id = models.IntegerField(primary_key=True)
    df_forestry = models.TextField(blank=True, null=True),
    geom = models.MultiPolygonField(geography=True, null=True, blank=True, verbose_name='gmtry')

    class Meta:
        managed = True
        verbose_name = 'frst'
        verbose_name_plural =  'frtses' 

問題是“明星進口”。 您確實導入了django.contrib.gis.db.models ,但是隨后在以下幾行中將其替換。

from django.contrib.gis.db import models
from renter.models import *  # this could replace models with django.db.models
from classification_list.models import *  # and so could this

最好的解決方法是顯式導入所需的模型,

from renter.models import MyModel1
from classification_list.models import MyModel2  

或導入renter.models模塊

import renter.models as renter_models
import from classification_list.models as classification_models *  
# now use renter_models.MyModel1, classification_models.MyModel2

作為一種技巧,您可以交換模型的順序,但是最好使用上面的一種方法。

from renter.models import *
from classification_list.models import *  
from django.contrib.gis.db import models

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM