def init_serializer(cls):
if not hasattr(cls, 'serializer_class') or cls.serializer_class is None:
if getattr(cls, 'primary_model', None) is None:
cls.serializer_class = Serializer
else:
field_names = []
for field in cls.primary_model._meta.get_fields():
if field.many_to_one or isinstance(field, (
django.db.models.fields.related.OneToOneField,
django.db.models.fields.related.ManyToManyField)):
field_name = getattr(field, 'name')
elif not field.is_relation:
field_name = getattr(field, 'attname')
else:
continue
if field_name not in (SETTINGS.MODEL_CREATOR, SETTINGS.MODEL_MODIFIER):
field_names.append(field_name)
class BenchmarkSerializer(ModelSerializer):
class Meta:
model = cls.primary_model
fields = field_names
cls.serializer_class = BenchmarkSerializer
cls.serializer_is_custom = False
else:
cls.serializer_is_custom = True
benchmark_api_view.py 文件源码
python
阅读 27
收藏 0
点赞 0
评论 0
评论列表
文章目录