我正在使用Django 1.6。在"添加"我的一个模型的接口,我有一个字段是另一个模型的外键。因此,它显示为包含第二个模型的字符串表示形式的下拉框。我希望能够将其拆分为其组成字段。有没有办法做到这一点?
即。例如,在我的"添加"屏幕为" User"的模型,我有一个字段" Favorite Book"。 "图书"显示为带有字符串表示的下拉菜单"标题,作者"对于数据库中的所有书籍,我希望能够显示两个下拉菜单,一个用于标题和作者的每个字段。
修改 这不是我的实际应用。在我的应用程序中,还有一个附加功能,即所有作者 - 标题组合都是可能的(显然这不是这个例子的情况),因此能够分别选择标题和作者而不是从巨大的下拉菜单,包含所有可能的排列。
答案 0 :(得分:0)
你所说的并没有多大意义。外键下拉列表代表数据库中的所有Book
个对象,并允许您在User
和您选择的特定Book
之间创建关系,即特定的标题/作者组合。您无法单独选择标题和作者,因为它们是单个Book
中的字段,并代表特定的Book
(更不用说该标题是文本字段)
您可以使用Django Admin Inline。您可以在this question中看到内联示例:
这样,您就可以在同一个管理页面中将多个Books
与一个User
相关联。
# models.py
from django.db import models
class User(models.Model):
name = models.CharField(max_length=100)
class Book(models.Model):
user = models.ForeignKey(User)
title = models.CharField(max_length=100)
# admin.py
from django.contrib import admin
class BookInline(admin.StackedInline):
model = Book
class UserInline(admin.ModelAdmin):
inlines = [
BookInline,
]