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

Python 在Django中,如何轻松地继承字段并使用该字段预配置的参数创建新类?,python,django,django-rest-framework,Python,Django,Django Rest Framework,我目前在PostgreSQL数据库中使用UUID,因此我还使用带有一些参数的PrimaryKeyRelatedField(),以避免将UUID字段编码为JSON时出现问题。 我的序列化程序字段如下所示: id = serializers.PrimaryKeyRelatedField(read_only=True, allow_null=False, pk_f

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

id = serializers.PrimaryKeyRelatedField(read_only=True,
                                   allow_null=False,
                                   pk_field=serializers.UUIDField(format='hex_verbose'))
在每一个使用UUID的序列化程序中,我都必须使用它。 我的问题是,如何基于PrimaryKeyRelatedField创建一个新类,这样我就不必编写所有这些参数(只读、允许空…)

我正在寻找类似于:

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 

希望这有助于您的查询

您可以使用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 
希望这有助于您的查询