0

我编写了一个 CMS,我的两个相关模型是talkattachment. 一个谈话可以有很多附件。我的问题是,当用户创建新谈话时,他们必须在单独的窗口中以单独的形式创建附件。

对于我的项目,要求用户在创建新演讲的同时创建新附件。用户最多可以包含 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")

这可能吗?

4

1 回答 1

2

是的。您可以使用InlineModelAdminhttps://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,
    ]
于 2013-10-01T13:34:53.813 回答