2

在我的项目(玩具版)中,有拥有任意数量对象的所有者。我的models.py文件看起来像

class Owner(models.Model)
    name = models.CharField(max_length=50)
    date_of_birth = models.DateField()

class Object(models.Model)
    name = models.CharField(max_length=50)
    price = models.models.DecimalField(max_digits=9, decimal_places=2)
    owner = models.ForeignKey(Owner)

我的问题与管理站点上所有者的更改页面有关,例如

http://mysite.com/admin/myapp/owner/1/.

现在我知道,如果我注册Object为 aTabularInline或 a StackedInline,那么我会得到这个所有者拥有的对象的可编辑列表。然而,在我的项目的真实版本中,anObject有 25 个字段,而不是 2 个,因此从美学角度来看,这些选项都不是真正可取的。

相反,我真正想要的是在所有者的更改页面上显示所有者拥有的所有对象的更改列表。(这样我得到了所有所有者对象的一个​​很好的紧凑列表,如果我需要编辑一个的详细信息,我可以单击它的链接并在它自己的页面中编辑它。)基本上我想要的内容

http://mysite.com/admin/myapp/object/?owner__id__exact=1

出现在

http://mysite.com/admin/myapp/owner/1/.

有没有办法做到这一点?

PS:我使用的是 Django 1.4 和 Python 2.7。

4

1 回答 1

0

您可以使用这些属性在每个 InlineModelAdmin 中定义要使用的表单类和/或字段,并以此方式限制每个对象的输入字段数量。

于 2013-05-18T10:12:11.590 回答