见下面的情景:
class Account(model.Model):
acc_name = models.CharField(max_length=50)
class Person(model.Model):
accounts = models.ManyToManyField(Account)
class Message(model.Model):
person = models.ForeignKey(Person)
msg = models.CharField(max_length=500)
现在我在我的admin.py
中使用InineModelAdmin。所以它看起来像这样:
class Account(admin.ModelAdmin):
...
some code
...
admin.site.register(Account, AccountAdmin)
class MessageInLine(admin.StackedInline):
model = Message
class PersonAdmin(admin.Modeladmin):
inlines = [MessageInLine]
admin.site.register(Person, PersonAdmin)
因此,Message
ForeignKey
上Person
Person
Many-To-Many
Account
Django-admin
Person
。
现在在Message
,我添加了Person,它显然提供了CTRL
和radio_button
的组件。现在,帐户位于列表中,需要通过按住PersonAdmin
来选择帐户。我想使用radio_fields = {"accounts":admin.VERTICAL}
来选择多个按钮以便更快地进行选择。我怎么能这样做?
编辑:
我尝试在ForeignKey
内使用radio_field:
Choices Set
但它给了我一个错误,说明它是{{1}}还是{{1}},所以很明显这不起作用。有办法解决这个问题吗?
答案 0 :(得分:2)
来自this Answer似乎有一种方法可以使用CheckboxSelectMultiple
from django.forms.widgets import CheckboxSelectMultiple
class PersonAdmin(admin.ModelAdmin):
inlines = [MessageInLine]
formfield_overrides = {
models.ManyToManyField: {'widget': CheckboxSelectMultiple},
}
请阅读另一个问题