我启用了站点框架(包括中间件),并设置了两个站点(ID=1和ID=2)。我的模型之一使用外键的网站。为了争论起见,让我们说它看起来是这样的
class Person(models.Model):
name = models.CharField(max_length=20)
site = models.ForeignKey(Site)
on_site = CurrentSiteManager()在我的settings.py中,SITE_ID =1
如果我在管理屏幕中创建person实例,并使用ID=2将其站点设置为该站点,则会创建它,但它将隐藏在当前的管理屏幕中。
对我来说这似乎有悖常理。我想使用我唯一的django管理屏幕来管理我的两个站点。在我的list_display中,我有“站点”,所以如果它显示给我所有的实例,我就知道它与哪个站点相关。
是否有办法确保在管理屏幕中显示我的模型的所有实例,而不管站点ID是什么?
我不想登录到两个单独的管理URL来管理所有的模型实例。
发布于 2014-12-02 21:28:13
您实际上不需要CurrentSiteManager,只需将模型通过ForeignKey连接到站点;
from django.contrib.sites.models import Site
class Person(models.Model):
name = models.CharField(max_length=20)
site = models.ForeignKey(Site)
on_site = models.ForeignKey(Site,related_name="site_users")在管理中,您将看到一个下拉列表来选择Person应该属于哪个站点。
不要忘记迁移模型,因为您正在更改模式。
https://stackoverflow.com/questions/27259094
复制相似问题