是否可以限制SelectModelField在wtf-peewee中的选择
问题描述:
我使用带烧瓶peewee和wtfpeewee的烧瓶。
所以,我有模特那样:是否可以限制SelectModelField在wtf-peewee中的选择
class Category(Model):
name = CharField()
user = ForeignKeyField(User, null=True)
class Record(Model):
value = DecimalField()
category = ForeignKeyField(Category)
user = ForeignKeyField(User)
当我创建的形式为用户添加记录,我这样做的:
RecordForm = model_form(Record)
在数据库中的所有类别都可以在现场选择此表单的“类别”,但我需要将“类别”字段的可用选项限制为具有用户字段等于无或当前(登录)用户的类别子集。我知道如何通过查询来限制它,但对于表单字段该如何做?
答
对不起看到这个刚才
您可以在类定义的时间做到这一点:
from wtfpeewee.fields import SelectQueryField
class MyForm(Form):
category = SelectQueryField(query=Category.filter(some_val=other_val)
另外,我相信你可以在运行时做到这一点:
my_form = MyForm()
my_form.category.query = Category.filter(user=some_user)