繁体   English   中英

Django ModelForm ForeignKey查询

[英]Django ModelForm ForeignKey query

我想要一个仅向用户提供其参与项目的问题的表格。

models.py:

class Project(models.Model):
    project_name = models.CharField(max_length=255, unique=True, blank=False)
    def __str__(self):
        return str(self.project_name)


class Profile(models.Model):
    user = models.OneToOneField(User, on_delete=models.CASCADE)
    project = models.ManyToManyField(Project)
    def __str__(self):
        return str(self.user)

class Question(models.Model):           
    title = models.CharField(max_length=255, blank=False)
    content = tinymce_models.HTMLField(blank=False)
    author = models.ForeignKey(User, on_delete=models.CASCADE)
    project = models.ForeignKey(Project, on_delete=models.CASCADE)
    ...
    def __str__(self):
        return str(self.title)


class QuestionForm(ModelForm):
    class Meta:
        model = Question
        fields = ['title', 'content', 'project']

在views.py中:

form = QuestionForm()
form.fields["project"].queryset = Project.objects.filter(project_name__in=request.user.profile.project.all())

但是以某种方式查询的结果始终保持为空。

也许有人知道我在想什么?

您的查询过于复杂。 您应该只直接使用用户的项目:

form.fields["project"].queryset = request.user.profile.project.all())

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM