我使用烧瓶 - 小便和wtfpeewee的烧瓶 所以,我有这样的模型:
class Category(Model):
name = CharField()
user = ForeignKeyField(User, null=True)
class Record(Model):
value = DecimalField()
category = ForeignKeyField(Category)
user = ForeignKeyField(User)
当我为用户创建表单添加Record时,我这样做:
RecordForm = model_form(Record)
数据库中的所有类别都可以在此表单的“类别”字段中选择,但我需要将“类别”字段的可用选项限制为用户字段等于无或当前(已登录)用户的类别子集。我知道如何通过查询来限制它,但是如何对表单字段进行限制?
答案 0 :(得分:1)
很抱歉看到这个
您可以在课程定义时执行此操作:
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)