如何避免这个下拉组合框?

2024-04-19 16:07:24 发布

您现在位置:Python中文网/ 问答频道 /正文

我创建了播放列表和类似项目的模型:

class playlistmodel(models.Model):
    user = models.ForeignKey(User)
    title = models.CharField(max_length=200)
    def __unicode__(self):
            return self.title

class itemsmodel(models.Model):
    playlist = models.ForeignKey(playlistmodel)
    item = models.TextField()

    def __unicode(self):
            return self.item
class playlistform(ModelForm):
    class Meta:
            model = playlistmodel

class itemsform(ModelForm):
    class Meta:
            model = itemsmodel

我的播放列表视图:

^{pr2}$

我还设置了登录脚本。如果你需要创建一个播放列表,你需要登录,问题是当我在登录后尝试创建一个播放列表时,它会在下拉组合框中显示所有用户来选择哪个用户并输入播放列表的标题。如果我想移除那个没用的下拉框怎么办。它还显示项目页面,如在下拉框中选择播放列表并输入项目。在

谢谢。在


Tags: 项目selfmodelreturntitlemodelsdefunicode
1条回答
网友
1楼 · 发布于 2024-04-19 16:07:24

也许你需要explicitly include or exclude what fields you want displayed to the user。在

然后,在将对象保存到数据库之前,必须手动更新排除的对象部分。看看ModelForm.save()方法的commit=False参数是described in the documentation。在

例如,您的代码可能如下所示:

if form.is_valid():
    obj = form.save(commit=False)
    obj.user = request.user
    obj.save()

相关问题 更多 >