Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » Web
  • » flask-admin filter по внешнему ключу peewee orm [RSS Feed]

#1 Фев. 19, 2015 16:40:33

Virtul
От:
Зарегистрирован: 2012-01-27
Сообщения: 26
Репутация: +  0  -
Профиль   Отправить e-mail  

flask-admin filter по внешнему ключу peewee orm

Здрасьте :)
Нагуглить не получилось, нужна помощь: использую flask-admin, хочу в TemplateAdmin иметь фильтр по внешнему ключу (по строке репрезентации, которую выдаёт __unicode__() ), как это сделать?
Варианты column_filters = ('name', Policy) и column_filters = ('name', ‘policy’) выдают ошибки

Заранее благодарю!

class Template(BaseModel):
    name = CharField(unique=True)
    class Meta:
        db_table = 'templates'
        
    def __unicode__(self):
        return self.name
class TemplatePolicy(BaseModel):
    policy = ForeignKeyField(Policy, related_name='template_policies')
    template = ForeignKeyField(Template, related_name='template_policies')
    
    class Meta:
        db_table = 'template_policies'
        indexes = (
            (('policy', 'template'), True),
        )
        
    def __unicode__(self):
        return self.policy.name + ": " + self.template.name
class Policy(BaseModel):
    location = ForeignKeyField(Location, related_name='policies')
    unit = ForeignKeyField(Unit, related_name='policies')
    component = ForeignKeyField(Component, related_name='policies')
    
    @property
    def name(self):
        return "%s-%s-%s" % (self.location.name, self.unit.name, self.component.name)
    class Meta:
        db_table = 'policies'
        indexes = (
            (('location', 'unit', 'component'), True),
        )
        
    def __unicode__(self):
        return self.name
    
    def __str__(self):
        return self.name
class PolicyAdmin(ModelView):
    column_filters = (Location.name,
                      Unit.name,
                      Component.name)
    inline_models = (InterfacePolicy,)
class TemplateAdmin(ModelView):
    column_searchable_list = ('name',)
    column_filters = ('name',)
    inline_models = (TemplatePolicy,)



Офлайн

#2 Фев. 20, 2015 13:17:26

sander
Зарегистрирован: 2015-02-19
Сообщения: 317
Репутация: +  53  -
Профиль   Отправить e-mail  

flask-admin filter по внешнему ключу peewee orm

попробуйте
column_filters = (Policy.location,)
по @property фильтровать не получится

Отредактировано sander (Фев. 20, 2015 13:18:28)

Офлайн

  • Начало
  • » Web
  • » flask-admin filter по внешнему ключу peewee orm[RSS Feed]

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version