林引用的Django模型尋求建立在管理面板的測試程序,它記錄書籍,出版商和作者的視圖(如在djangoproject.com)我如何從另一個模型
我有以下兩種模式定義。
class Author(models.Model):
first_name = models.CharField(max_length=30)
last_name = models.CharField(max_length=30)
email = models.EmailField()
def __unicode__(self):
return u'%s %s' % (self.first_name, self.last_name)
class Book(models.Model):
title = models.CharField(max_length=100)
authors = models.ManyToManyField(Author)
publisher = models.ForeignKey(Publisher)
publication_date = models.DateField()
def __unicode__(self):
return self.title
我想要做的是更改Book模型以引用任何作者的first_name並使用admin.AdminModels顯示此內容。
#Here is the admin model I've created.
class BookAdmin(admin.ModelAdmin):
list_display = ('title', 'publisher', 'publication_date') # Author would in here
list_filter = ('publication_date',)
date_hierarchy = 'publication_date'
ordering = ('-publication_date',)
fields = ('title', 'authors', 'publisher', 'publication_date')
filter_horizontal = ('authors',)
raw_id_fields = ('publisher',)
據我所知,你不能在同一個模型中有兩個ForeignKeys。任何人都可以給我一個如何做到這一點的例子嗎?
我已經嘗試過不同的東西,它一直在狂奔着我整天。我很新的Python/Django。
要說清楚 - 我只是想讓作者姓名和名字出現在書名和出版商名字旁邊。
謝謝
不確定你的問題的答案,但「你不能有兩個ForeignKeys在同一模型」不是一個真實的陳述。我也認爲你用__unicode __()函數混淆了外鍵。 – 2010-05-18 23:55:30