我在Django中的模型将uuid作为其主键:
class User(models.Model):
token = models.UUIDField(primary_key=True, default=uuid.uuid4)
def __str__(self):
return str(self.token).replace('-', '')
,由于uuid被保存在数据库中而没有破折号(-
),因此我可以使用上面代码中的__str__
来使其不带有破折号。结果看起来像这样:
但是我该如何在管理面板中呈现值的方式做同样的事情(如何删除破折号):
答案 0 :(得分:0)
您可以这样做:
class User(models.Model):
token = models.UUIDField(primary_key=True, default=uuid.uuid4)
def __str__(self):
return str(self.token).replace('-', '')
@admin.register(User)
class UserAdmin(admin.ModelAdmin):
fields = ('render_token',)
readonly_fields = ('render_token',)
def render_token(self, obj):
return str(obj.token).replace('-', '') # or str(obj)
render_token.short_description = 'TOKEN'