我编写了一个CMS,我的两个相关模型是talk
和attachment
。谈话可以有很多附件。我的问题是,当用户创建新的谈话时,他们必须在单独的窗口中以单独的形式创建附件。
对于我的项目,要求用户在创建新演讲的同时创建新附件。用户最多可以包含5个附件对象。目前talk
看起来像
class talk(models.Model):
title = models.CharField(max_length = 255)
...
attachments = models.ManyToManyField('attachment')
和attachment
看起来像
class attachment(models.Model):
title = models.CharField(max_length = 255)
link = models.URLField("Attachment URL")
这可能吗?
答案 0 :(得分:2)
是。您可以使用InlineModelAdmin
(https://docs.djangoproject.com/en/dev/ref/contrib/admin/#django.contrib.admin.InlineModelAdmin)
由于attachments
是ManyToMany
字段,您可以执行以下操作:
from django.contrib import admin
class AttachmentThroughInline(admin.TabularInline):
model = talk.attachments.through
class talkAdmin(admin.ModelAdmin):
inlines = [
AttachmentThroughInline,
]