File tree Expand file tree Collapse file tree 1 file changed +4
-4
lines changed Expand file tree Collapse file tree 1 file changed +4
-4
lines changed Original file line number Diff line number Diff line change 14
14
15
15
def from_model (
16
16
model ,
17
- label_field : str ,
17
+ label_field : str = None ,
18
18
value_field = 'pk' ,
19
19
q_filter : models .Q = None ,
20
20
no_limit = True ,
@@ -24,7 +24,7 @@ def from_model(
24
24
Get dropdown items from given model
25
25
26
26
@param model: model to get dropdown
27
- @param label_field: name of field which will be label
27
+ @param label_field: name of field which will be label (default is `__str__`)
28
28
@param value_field: name of field which will be value (default is `pk`)
29
29
@param q_filter: additional filter
30
30
@param no_limit: no items limit (overriding `LIMIT` in settings)
@@ -48,7 +48,7 @@ def from_model(
48
48
queryset = queryset .values (* values )
49
49
50
50
# order
51
- queryset = queryset .order_by (label_field )
51
+ queryset = queryset .order_by (label_field or value_field )
52
52
53
53
# distinct
54
54
queryset = queryset .distinct ()
@@ -64,7 +64,7 @@ def from_model(
64
64
# results
65
65
return [
66
66
types .DropdownItem (
67
- label = x [label_field ],
67
+ label = x [label_field ] if label_field is not None else str ( x ) ,
68
68
value = x [value_field ],
69
69
context = {y : x [y ] for y in (context_fields or [])},
70
70
) for x in result_list
You can’t perform that action at this time.
0 commit comments