2012-03-09 3 views
0

Я использую колбу с колбасой и 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) 

Все категории в базе данных доступны для выбора в поле «Категория» этой формы, но мне нужно ограничить доступные варианты для поля «Категория» подмножеством категорий, у которых поле пользователя равно None или текущему (зарегистрированному) пользователю. Я знаю, как ограничить его запросом, но как это сделать для поля формы?

ответ

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)