Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/335.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何给出在Django admin中显示值的条件_Python_Django_Django Admin - Fatal编程技术网

Python 如何给出在Django admin中显示值的条件

Python 如何给出在Django admin中显示值的条件,python,django,django-admin,Python,Django,Django Admin,嗨,我的用户模型由几个字段组成,因为payment_type是一个返回整数值的字段,所以基于这个值,我需要显示一些字符串句子 类用户(models.Model): 付款类型=models.IntegerField() 在我的管理我需要使条件显示。我是django的新手,因此支持对于选项,您可以在管理列表中使用显示或编写自己的自定义方法,以更好地控制在管理面板中显示的内容 @admin.register(User) class UserAdmin(BaseUserAdmin): list_

嗨,我的用户模型由几个字段组成,因为payment_type是一个返回整数值的字段,所以基于这个值,我需要显示一些字符串句子

类用户(models.Model): 付款类型=models.IntegerField()

在我的管理我需要使条件显示。我是django的新手,因此支持

对于选项,您可以在管理列表中使用显示或编写自己的自定义方法,以更好地控制在管理面板中显示的内容

@admin.register(User)
class UserAdmin(BaseUserAdmin):
    list_display = ('get_payment_type_display', )

# or you can write your own method
@admin.register(User)
class UserAdmin(BaseUserAdmin):
    list_display = ('get_payment_type', ) # method 

    # call get_<field>_display 
    def get_payment_type(self, obj):
        return obj.get_payment_type_display()

    get_payment_type.short_description = 'Payment Type'
@admin.register(用户)
类UserAdmin(BaseUserAdmin):
列表显示=(“获取付款类型显示”)
#或者您可以编写自己的方法
@管理员注册(用户)
类UserAdmin(BaseUserAdmin):
列表显示=('get_payment_type',)#方法
#调用获取屏幕
def get_付款类型(自我、obj):
返回对象获取付款类型显示()
获取付款类型。简短描述='付款类型'

你说的“我需要设置条件来显示”是什么意思?请注意,如果您的问题是如何将标签自动链接到每个
支付类型
值(假设一组受限且已知的可能值),那么您希望-然后,如果字段设置了选项,您将获得(几乎)free.IIRC的标签,Django管理员已经在列表视图中自动使用了
get_FOO_display
。我在model的fine now类Person(models.model)中这样添加了:SHIRT_size=(('S','Small'),('M','Medium'),('L','Large'),)name=models.CharField(max_length=60)SHIRT_size=models.CharField(最大长度=2,选择=衬衫尺寸)。谢谢。这是一个很棒的解决方案。