flask peewee 如何在 edit/creating 形式时更改字段顺序

flask peewee how to change the field order when edit/creating forms

对于模型 User 我想在其中放入一个内联模型 ProjectNotes,以及如何 我可以在创建或编辑时更改字段顺序吗? 例如,将顺序更改为 ProjectNotes, username, email.(见下图。)

class User(BaseModel):
   username = peewee.CharField(max_length=80)
   email = peewee.CharField(max_length=120)

   def __unicode__(self):
       return self.username

class ProjectNotes(BaseModel):
   comment = peewee.CharField(max_length=64)
   user = peewee.ForeignKeyField(User)

   def __unicode__(self):
       return '%s - %s' % (self.comment)

class UserAdmin(ModelView):
   inline_models = (ProjectNotes,)

admin.add_view(UserAdmin(User))

您可以 pass additional attributes 例如 form_columnsform_labelcolumn_labels for inline_models 作为字典:

class UserAdmin(ModelView):
    inline_models = [
        (ProjectNotes, {'form_columns': ('user', 'comment')})
    ]

或者为您的 ProjectNotes 模型创建表单 class:

from flask_admin.model.form import InlineFormAdmin

class ProjectNotesAdmin(InlineFormAdmin):
    form_columns = ('user', 'comment')

class UserAdmin(ModelView):
    inline_models = [ProjectNotesAdmin(ProjectNotes)]

我还发现我需要在 form_columns 中为 flask_admin.contrib.sqla.ModelView 指定主键列。不知道你是否需要为 flask_admin.contrib.peewee.ModelView.

做同样的事情