【发布时间】:2013-02-26 16:50:34
【问题描述】:
class One(models.Model):
image = models.ImageField(upload_to="images")
summary = models.TextField()
def __unicode__(self):
return self.summary
class Two(models.Model):
image = models.ImageField(upload_to="images")
title = models.CharField(max_length=50)
def __unicode__(self):
return self.title
class Three(models.Model):
one = models.ForeignKey(One, related_name='one_home')
two = models.ForeignKey(Two, related_name='two_home')
def __unicode__(self):
return self.tile
现在我想要在 Django Admin 中将一和二显示为三的内联。
我到处搜索,但内联显示给出了相反的关系。就像一个有外键三的地方。不是我想要的相反。
【问题讨论】:
-
完全可以将一和二显示为三的内联,您只需将关系船移动到其他模型。在模型三中定义这些关系有什么原因吗?
-
是的,根据我的要求,模型必须是这样的......我不想对模型进行更改
-
这在 Django admin 中似乎是不可能的,因为在构建
Three时,它需要有One和Two的 ID 才能保存。在 Django 管理员中没有办法告诉它“保存一个,然后保存两个,然后保存三个”。它将尝试使用一个 SQL 命令将所有内容保存到数据库中。你必须改变你的模型才能让它按照你想要的方式工作。
标签: django django-models python-2.7 django-forms django-admin