【问题标题】:Python Django SeparatorPython Django 分隔符
【发布时间】:2023-03-06 07:58:02
【问题描述】:

如何在 django python 中创建分隔符。 我想要做的是每 3 个数字创建一个 - 减号字符是在模型中做的正确方法吗?

separator = models.IntegerField()

预期的实际结果 123-456-789-000

【问题讨论】:

    标签: django-models


    【解决方案1】:

    我假设您有一个整数模型字段,并且您希望在向用户显示它时更改它的表示。您可以使用 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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-17
      • 1970-01-01
      • 1970-01-01
      • 2021-06-12
      • 1970-01-01
      • 2018-02-22
      相关资源
      最近更新 更多