且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

带有默认字段的 Django 模型序列化问题

更新时间:2022-12-05 17:21:04

尝试将默认值计算移到单独的函数中:

Try to move default value calculation into separate function:

def get_default_range():
    return NumericRange(400, 600)

class MyModel(models.Model):
    field = IntegerRangeField(default=get_default_range, validators=[
        RangeMinValueValidator(1),
        RangeMaxValueValidator(1000)
    ])

在这种情况下,迁移成功生成:

In this case migration was successfully generated:

   operations = [
       migrations.AddField(
            model_name='comment',
            name='field',
            field=django.contrib.postgres.fields.ranges.IntegerRangeField(
                default=play.models.get_default_range,
                validators=[django.contrib.postgres.validators.RangeMinValueValidator(1),
                            django.contrib.postgres.validators.RangeMaxValueValidator(1000)]),
        ),
    ]