2013-02-23 79 views
2

在我的项目(玩具版本)中,有业主拥有任意数量的对象。我models.py文件看起来像Django管理站点 - 列出ForeignKey项目作为更改页上的更改列表

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) 

我的问题涉及到更改页面上的管理网站,例如一个Owner

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

现在我知道,如果我注册Object作为TabularInlineStackedInline,然后我得到这个所有者拥有该对象的可编辑列表。然而,在我的项目的真实版本中,Object有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。

回答

0

您可以使用these attributes来定义要在每个InlineModelAdmin中使用的类和/或字段的类型,并以这种方式限制每个对象的输入字段数量。