很抱歉,这已经是这个问题的第一千个问题了,但我还是看不到隧道尽头的亮光。在
假设我有两个模型:
class Video(models.Model):
title = models.CharField(u"Titel",max_length=200)
slug = AutoSlugField(populate_from='title',unique=True)
date = models.DateField("Datum")
description = models.TextField(u"Beschreibung")
user = models.OneToOneField(User, blank=True, null=True)
class Channel(models.Model):
name = models.CharField(u"Name",max_length=30)
slug = AutoSlugField(populate_from='name',unique=True)
videos = models.ManyToManyField('videoportal.Video',related_name="contained_videos",blank=True,null=True)
created = models.DateTimeField(auto_now_add=True)
modified = models.DateTimeField(auto_now=True)
如你所见,我想要一个有视频的频道。所以如果我用这样的模型来做视频广告
^{pr2}$我得到的表单将不包含用于选择频道的输入字段(当然不是)。那我该怎么做呢?如何在表单中有一个输入字段,用下拉菜单选择一个频道?在
谢谢, 菲利普
使用自定义窗体而不是Django ModelForm。在
可能是这样的
在视图中进行验证。使用
Model save()
方法保存已发布表单中包含的信息。在如果一个视频只属于一个频道,只需将您的
Video
模型ForeignKey
交给您的Channel
模型。如果它应该属于多个通道,我将使用ManyToManyField
模型中的ManyToManyField
,正如已经建议的那样。在我认为这将符合上传视频并将其添加到频道的想法,这比用其他方式做要好得多。在
尝试将ManyToMany字段放入
Video
模型中,并从Channel
模型中省略它:如果你想用一个简单的下拉菜单来选择一个频道,为什么视频和频道之间是多对多的关系呢?在
相关问题 更多 >
编程相关推荐