在Django中的Modelform上重新排序下拉列表

时间:2018-12-07 23:33:05

标签: python django database

我正在使用状态表,其中3种状态用于报告。每个报告都经历3个阶段(非数字阶段),但是现在我必须实施一个新阶段,该阶段必须在第2阶段和第3阶段之间,并且顺序要更早。 状态表只有两列:status_id(pk)和类型

我遇到的问题是当我显示下拉列表(在modelForm中)时,值按主键排序。

什么是最佳实践解决方案?

p.s。更改数据库中的“类型”以使其正确是感觉很愚蠢

1 个答案:

答案 0 :(得分:1)

如何向状态模型中添加一个额外的字段,例如<?xml version="1.0" encoding="utf-8"?> <android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@color/backgroundColor" android:fitsSystemWindows="true"> <include layout="@layout/detail_activity_bar"></include> <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" app:layout_behavior="@string/appbar_scrolling_view_behavior"> <GridView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/home_grid" android:layout_width="match_parent" android:layout_height="match_parent" android:horizontalSpacing="5dp" android:verticalSpacing="5dp" android:layout_marginLeft="5dp" android:layout_marginRight="5dp" android:layout_marginTop="5dp" android:layout_marginBottom="60dp" android:numColumns="2" android:stretchMode="columnWidth"/> <com.google.android.gms.ads.AdView xmlns:ads="http://schemas.android.com/apk/res-auto" android:id="@+id/adViewGallery" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true" android:layout_alignParentBottom="true" android:layout_marginBottom="5dp" android:layout_gravity="bottom|center" ads:adSize="SMART_BANNER" ads:adUnitId="@string/home_banner"> </com.google.android.gms.ads.AdView> </FrameLayout> </android.support.design.widget.CoordinatorLayout> ,然后覆盖ModelForm定义的 init ()方法以更改该字段的查询集,例如,< / p>

custom_order