Я пытался заставить работать новое приложение Django, где я вызываю другую модель, используя ForeignKey.Кажется, что все идет хорошо на моей локальной машине, и это обнаруживается, как ожидалось.
Однако, когда я пытаюсь сделать это на моем производственном сервере, он просто не работает.Я слишком долго возился с этим, и я чувствую, что пришло время для больших орудий и задаю вопрос здесь;)
Это ситуация:
1) customerModel
from django.db import models
from mysite.product.models import Product
from mysite.province.models import provinceModel
from mysite.district.models import districtModel
class customerModel(models.Model):
productId = models.ForeignKey(Product)
name = models.CharField(max_length=30)
province = models.ForeignKey(provinceModel)
district = models.ForeignKey(districtModel)
def __str__(self):
return self.name
2) ProvinceModel
from django.db import models
class provinceModel(models.Model):
name = models.CharField(max_length=30)
def __str__(self):
return self.name
Как уже говорилось, все отлично работает на локальных.На производстве я пытаюсь сделать то же самое, и это дает мне эту ошибку:
Error: One or more models did not validate:
customer.customerModel: 'province' has a relation with model <class 'mysite.province.models.provinceModel'>,
which has either not been installed or is abstract.
Я предполагаю, что это абстрактно ... Так как оно определенно установлено (в settings.py).
Чтобы все исправить, я решил поиграть.Я заметил, что даже когда удалял весь код и просто пытался редактировать приложение с помощью функции администратора django, оно не будет отображаться и в админке.
Я почти уверен, что эти две проблемы связаны, и яЯ надеюсь, что кто-то сталкивался с подобным или просто знает, что я должен делать здесь.Я начинаю чувствовать, что где-то есть внутренний конфликт, о котором Джанго не говорит.Поскольку некоторые модели могут быть добавлены в ForeignKeys, например, районные, новые модели просто не будут работать.Я попытался добавить еще один новый.
И да, я прочитал другие связанные посты о том, что приложение не отображается.Они зарегистрированы в settings.py под INSTALLED_APPS.Любая помощь приветствуется!
3) settings.py
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.staticfiles',
'django.contrib.admin',
'django.contrib.admindocs',
'mysite.product',
'mysite.intervention',
'mysite.customer',
'mysite.province',
'mysite.part',
'mysite.district',
)
4) структура каталогов
mysite
-> customer
-> customerModel
-> district
-> districtModel
-> intervention
-> districtModel
-> part
-> partModel
-> product
-> productModel
-> province
-> provinceModel