繁体   English   中英

Django表单-在模型中过滤外键

[英]Django form - filter foreignkey in model

假设我们有2个模型:

class Entry(models.Model):
    number = models.IntegerField(blank=True, null=True, verbose_name="#")
    product = models.ForeignKey(Application, blank=True, null=True, verbose_name='Application')

class Application(models.Model):
    name = models.CharField(max_number=100)
    defaultCalendar = models.ForeignKey(Calendar)
class Calendar(models.Model):
    name = models.CharField(max_number=100)

和形式:

class EntryForm(ModelForm):

class Meta:
    model = Entry
    fields = {'product ', 'number'}

1)在文档中,我们可以看到使用fields可以更改模型的顺序,但是在此示例中,它不起作用:(

2)有什么方法可以过滤我的表格中的产品? 在模型视图中,我可以这样

def somefunction(request, val1, val2):
    products = Application.objects.filter(defaultCalendar=request.user.get_profile().defaultCalendar)

get_profile是一个返回用户个人资料的函数。

无论如何在Form中执行此操作? filter参数必须与执行该功能的用户连接。

提前致谢

1)它不起作用,因为“字段”应该是一个列表:

fields = ['product ', 'number', ]

2)

您可以使用:

form.fields["product"].queryset = your_queryset

暂无
暂无

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

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