繁体   English   中英

Django应用不会显示在管理员中

[英]Django app won't show up in admin

我一直在尝试使新的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)省份型号

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 admin功能编辑应用程序时,它也不会显示在admin中。

我很确定这两个问题是相关的,我希望有人遇到类似的事情,或者只是知道我在这里应该做什么。 我开始感觉到某个地方存在内部冲突,Django没有告诉我。 由于可以将某些模型(例如第一区)添加到ForeignKeys,但是新模型将不起作用。 我也尝试添加另一个新的。

是的,我确实阅读了有关应用程序未显示的其他相关文章。 它们已在INSTALLED_APPS下的settings.py中注册。 任何帮助深表感谢!

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
from django.db import models

# Notice you don't need these imports with string notation

class customerModel(models.Model):
    productId = models.ForeignKey('product.Product')
    name = models.CharField(max_length=30)
    province = models.ForeignKey('province.provinceModel')
    district = models.ForeignKey('district.districtModel')

    def __unicode__(self):    # use __unicode__ !!!
        return self.name

试试看 我在IRC上回答了您,但您在我发布答案时就注销了。 如果您要在整个网络上发送垃圾邮件,请等待答案。 我差点没在这里追你

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM