【发布时间】:2019-07-19 03:26:23
【问题描述】:
嗨嗨。
我有模特
class Comment(models.Model):
""" Comments model """
cmnt_author = models.ForeignKey(
settings.AUTH_USER_MODEL,
related_name='cmnt_author',
verbose_name='Comment author',
null=True,
blank=True,
on_delete=models.CASCADE,
)
cmnt_txt = models.TextField(
_('Text'),
blank=True,
max_length=480,
)
date_added = models.DateTimeField(
_('Date added'),
default=datetime.datetime.now
)
# Relationship with many models through ForeignKey
content_type = models.ForeignKey(
ContentType,
on_delete=models.CASCADE,
null=True,
blank=True,
verbose_name='Content type',
)
object_id = models.PositiveIntegerField(
null=True,
verbose_name='Object ID',
)
content_object = GenericForeignKey('content_type', 'object_id')
我有一个序列化程序。 我使用这个序列化程序来获取 cmets。
class CommentSerializer(serializers.ModelSerializer):
date_added = serializers.DateTimeField(format='%d %b %Y')
class Meta:
model = Comment
fields = ('id', 'cmnt_avtr', 'author', 'cmnt_txt', 'date_added')
问题:
1) 如何使用相同的序列化程序添加 cmets? 但要创建评论,我会使用更少的字段。
2) 我使用通用外键
时如何序列化添加cmets特别要补充的是,我使用这些字段:
fields = ('cmnt_author', 'cmnt_txt', 'content_type', 'object_id',)
【问题讨论】:
-
我可能说得不太对,我不需要读取序列化。我只想创建一个评论对象模型。但是由于Generic Relations注册在commentary model中,我想知道如何创建这样的对象?在序列化程序中覆盖哪些数据
标签: python serialization django-rest-framework