我想知道是否存在扩展我的模型字段之一以自动填充PositiveIntegerField的字符串表示形式的最佳方法
models.py
class User(AbstractUser):
coupon_code = models.PositiveIntegerField(default=0, help_text='Coupon code',)
admin.py:
class CustomUserAdmin(UserAdmin):
model = User
list_display=['username','email','coupon_code',]
fieldsets = UserAdmin.fieldsets + ( ('Coupon Code', {'fields': ['coupon_code',]} ), )
当前,该字段显示为整数。例如,将42打印为'42'。但是,我想在整个网站上打印时该字段是否填充零,尤其是对于 admin 之类的内置页面,因此显示的42将始终显示为'0000000042',同时保留基础整数数据库中的表示形式。
可以做到吗?
答案 0 :(得分:0)
zfill是最好的选择,您可以在类中使用制表符属性或其他内容。 https://docs.python.org/3.7/library/stdtypes.html?highlight=zfill#str.zfill
class User(AbstractUser):
coupon_code = models.PositiveIntegerField(default=0, help_text='Coupon code',)
@property
def coupon_code_display(self):
return self.coupon_code.zfill(10)