Wenn ich python3 manage.py makemigrations
, ich unten Fehlermeldung erhalten:muss die Form 'app_label.ModelName' sein „% Modell Valueerror:. Ungültige Referenzmodell
...
File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/django/db/models/fields/related.py", line 348, in contribute_to_class
lazy_related_operation(resolve_related_class, cls, self.remote_field.model, field=self)
File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/django/db/models/fields/related.py", line 85, in lazy_related_operation
return apps.lazy_model_operation(partial(function, **kwargs), *model_keys)
File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/django/db/models/fields/related.py", line 83, in <genexpr>
model_keys = (make_model_tuple(m) for m in models)
File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/django/db/models/utils.py", line 23, in make_model_tuple
"must be of the form 'app_label.ModelName'." % model
ValueError: Invalid model reference '管理员后台.产品配置.qiyun_admin_productconfig_cloudserver.HostType
Aber mein Unterkuntstyp Modellpfad ist dies: 管理员后台.产品配置.qiyun_admin_productconfig_cloudserver.models.HostType
..
die Zurückverfolgungs weniger die .models
in es ich weiß nicht, warum
Mein Projektverzeichnis ist unten:.
Bitte AUFMERKSAMKEIT, der Serializer und Ansichten (Serializer Ansicht) ist unter dem api
Verzeichnis.
und die Einstellungen:
...
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
PARENT_DIR = os.path.abspath(os.path.join(BASE_DIR, os.pardir))
# 增加sys目录
sys.path.insert(0, BASE_DIR)
sys.path.insert(0, os.path.join(PARENT_DIR,'旗云管理员后台'))
sys.path.insert(0, os.path.join(PARENT_DIR,'用户前台'))
sys.path.insert(0, os.path.join(PARENT_DIR,'用户管理员后台'))
...
INSTALLED_APPS = [
'django.contrib.admin',
....
'旗云管理员后台.用户管理.qiyun_admin_useradminmanage', #
'旗云管理员后台.用户管理.qiyun_admin_usergroups', #
'旗云管理员后台.产品配置.qiyun_admin_productconfig_common', #
'旗云管理员后台.产品配置.qiyun_admin_productconfig_cloudserver', #
'旗云管理员后台.财务管理.qiyun_admin_financialmanage_ordermanage', #
'旗云管理员后台.财务管理.qiyun_admin_financialmanage_financialmanage',
EDIT
Ich habe zwei Modelle (AvailableArea, AddressRegion) in der gleichen models.py (旗云管理员后台.产品配置.qiyun_admin_productconfig_cloudserver.
):
class AvailableArea(models.Model):
name = models.CharField(max_length=8)
addressregion = models.ForeignKey(AddressRegion, default=1, related_name='availableareas', on_delete=models.CASCADE)
def __str__(self):
return self.name
def __unicode__(self):
return self.name
class AddressRegion(models.Model):
name = models.CharField(max_length=8)
def __str__(self):
return self.name
def __unicode__(self):
return self.name
Sie sehen, sollte ich noch speci fied die addressregion = models.ForeignKey('qiyun_admin_productconfig_cloudserver.AddressRegion',...)
?
Und wenn andere Modelle, wenn ForeignKey auf AddressRegion
verweist, habe ich es auch importiert.
Ihre Frage wäre klarer, wenn der Code (in models.py?) Angezeigt wird, der den Fehler verursacht. – Alasdair
@Alasdair Siehe meine Edit, mein Freund /. – 244boy
@Alasdair My EDIT vielleicht lassen Sie meine Frage wissen, und ich möchte nur mehr Verzeichnis verwenden, um meine Apps zu gruppieren, lassen Sie meine Apps in einem guten Zustand, so dass ich diesen Beitrag folgen: https://Stackoverflow.com/questions/47323242/can-i-use-ein-Verzeichnis-enthält-ein-Paare-App-Verzeichnis. Dann bekomme ich meine Probleme. – 244boy