0

我将烧瓶与 flask-peewee 和 wtfpeewee 一起使用。
所以,我有这样的模型:

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)

数据库中的所有类别都可以在此表单的“类别”字段中选择,但我需要将“类别”字段的可用选项限制为用户字段等于无或当前(登录)用户的类别子集。我知道如何通过查询来限制它,但是对于表单字段应该如何做呢?

4

1 回答 1

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)
于 2012-03-27T16:19:32.633 回答