我有一个带有public function update(UpdateRequest $request){
$subotal_articulos = $this->subotalArticulos($request->articulos);
$referencia_duplicada = $this->referenciaDuplicada($request->orden_compra['referencia'],$request->orden_compra['po_id']);
$remision_duplicada = $this->remisionDuplicada($request->orden_compra['remision'],$request->orden_compra['po_id']);
if( $referencia_duplicada > 0 ){
return response()->json(['errors' =>
['El número de Referencia ya existe. Por favor, ingrese una nueva Referencia.'],
'data' => null
], 422);
}
的Django模型。
在呈现管理页面以添加模型实例时,ManyToManyField
呈现一个带有ModelAdmin
之类的选项的选择框(模型使用uuid作为其主键)。
如何让Django管理员使用其他更友好的字段来呈现选择框?
答案 0 :(得分:1)
尽管有最后一个答案,但如果您的Django版本大于2.0,一种优化而简洁的方法是为CNAME
定义一个管理页面。就像以下代码一样:
SomeModel
然后在您的源模型中,管理代码(该模型与@admin.register(SomeModel)
class SomeModelAdmin(admin.ModelAdmin):
list_display = ('name', 'created_time', ) # change this part to your fields
search_fields = ('name', ) # If you have this field in your model
具有M2M关系)添加一个属性为SomeModel
(已从版本2添加到Django)并将其引用为{ {1}}。类似于以下代码:
auto_complete_fields
答案 1 :(得分:0)
我在输入问题时就想到了解决方案。 Django管理员仅在选择框中显示模型的字符串表示形式。向模型添加SomeModel object(7c158809-4c9b-4d44-b3ac-9f225b8bd076
定义,但是您希望在选择框中呈现对象,将解决此问题,例如:
__str__