nic*_*ius 7 django django-models
不确定这是否是一个好方法(这更多的是一个技术问题),但是如果我有一个 Django 模型,其__str__函数结合了多个字段怎么办:
def __str__(self):
return f'{self.field0} {self.field1} {self.field2}'
Run Code Online (Sandbox Code Playgroud)
在管理员中,我可能会list_display这样:
list_display = ['field0', 'field1']
Run Code Online (Sandbox Code Playgroud)
如何指定它以使用函数返回的对象表示形式__str__?
list_display = [<__str__() representation>, 'field0', 'field1']
Run Code Online (Sandbox Code Playgroud)
默认情况下,如果您不在list_display管理中指定,它会给我我想要的内容。我不能两者兼得吗?
taa*_*hhh 13
只需添加list_display = ['__str__',]ModelAdmin 类即可完成此操作。基本上__str__是一个 python 方法,它给出了 python 类的表示,并且列表显示允许可调用。
您可以将可调用项添加到list_display属性 [Django-doc],这样您就可以添加str:
def model_str(obj):\n return str(model_str)\nmodel_str.short_description = \'Object\'\n\n\nclass MyModelAdminAdmin(admin.ModelAdmin):\n # …\n list_display = [model_str, \'field0\', \'field1\']Run Code Online (Sandbox Code Playgroud)\nstr(\xe2\x80\xa6)因此,这是对内置函数 [python-doc]的引用。
| 归档时间: |
|
| 查看次数: |
2660 次 |
| 最近记录: |