如何将从Django继承的两个模型合并到一个序列化程序中



在Django中,有没有一种方法可以将继承同一类的两个模型组合到一个序列化程序中

from django.db.models import Model
class A(Model):
a = IntegerField(...)
# other fields...

class Meta:
abstract = True
class B(A):
# There may or may not be such a thing as class C.
class C(A):
# There may or may not be such a thing as class B.

我有上面这样的代码。

是否可以基于a类模型创建一个序列化程序

我试图在SQL中创建一个视图表,但由于性能问题而放弃了。

有什么好主意吗。太痛苦了。。。😥

通常,重用序列化程序不是一个好主意,因为这样做可能会在基本序列化程序中发生更改时,或者在向某个模型添加/删除属性时,使您面临意外行为。

如果模型BC有一些共同的属性,那么您也许应该考虑更改DB设计。

然而,在这种情况下,我将定义两个具有抽象模型属性的序列化:


class BSerializer(serializers.Serializer):
a = serialzier.IntegerField()
... 
class CSerializer(serialziers.Serializer):
a = serializer.IntegerField()
... 

最新更新