繁体   English   中英

在Django中,如何轻松地继承字段并使用此字段的预配置参数创建新类?

[英]In Django, how can I easily inherit a field and create a new class with this field preconfigured parameters?

我当前在PostgreSQL数据库中使用UUID,因此我还使用带有一些参数的PrimaryKeyRelatedField()以避免将UUID字段编码为JSON时出现问题。 我的序列化器字段如下所示:

id = serializers.PrimaryKeyRelatedField(read_only=True,
                                   allow_null=False,
                                   pk_field=serializers.UUIDField(format='hex_verbose'))

在每个使用UUID的序列化程序中,我都必须使用它。 我的问题是,如何基于PrimaryKeyRelatedField创建一个新类,这样我就不必编写所有这些参数(read_only,allow_null ...)?

我正在寻找类似的东西:

id = BaseUUIDField()

谢谢

您可以使用作为uuid字段的id来创建抽象类。 然后在派生模型中插入该模型。

import uuid
from django.db import models

 //Abstract Model
class AbstractModel(models.Model):
    id = models.UUIDField(primary_key=True,default=uuid.uuid4, editable=False)

    class Meta:
        Abstract =True

//Derived Model
class YourDerivedModel(Abstract.Model):
      //fields here 

希望这对您的查询有所帮助

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM