【发布时间】:2023-03-06 07:58:02
【问题描述】:
如何在 django python 中创建分隔符。 我想要做的是每 3 个数字创建一个 - 减号字符是在模型中做的正确方法吗?
separator = models.IntegerField()
预期的实际结果 123-456-789-000
【问题讨论】:
标签: django-models
如何在 django python 中创建分隔符。 我想要做的是每 3 个数字创建一个 - 减号字符是在模型中做的正确方法吗?
separator = models.IntegerField()
预期的实际结果 123-456-789-000
【问题讨论】:
标签: django-models
我假设您有一个整数模型字段,并且您希望在向用户显示它时更改它的表示。您可以使用 SerializerMethodField 并创建一个只读分隔符字段来执行此操作。这是一个例子:
# models.py
def YourModel(models.Model):
separator = models.IntegerField()
# your other fields...
# serializers.py
from django.contrib.auth.models import User
from django.utils.timezone import now
from rest_framework import serializers
class YourSerializer(serializers.ModelSerializer):
custom_separator = models.SerializerMethodField()
class Meta:
model = YourModel
fields = '__all__'
def get_separator(self, obj):
tmp = str(obj.separator)
custom_separator = '-'.join(tmp[i:i+3] for i in range(0, len(tmp), 3))
return custom_separator
【讨论】: