【发布时间】:2014-03-06 17:47:12
【问题描述】:
您好,我需要在 2 级引用项的序列化程序中添加一个字段。
我有以下型号:
模型.py:
class Company(models.Model):
companyName = models.CharField(max_length=50, blank=True)
class Poll(models.Model):
questionString = models.CharField(max_length=500, blank=True)
companyId = models.ForeignKey(Company, null=True, db_column='companyId', blank=True)
class PossibleAnswer(models.Model):
answerString = models.CharField(max_length=100, blank=True)
pollId = models.ForeignKey(Poll, null=True, db_column='pollId', blank=True,related_name='answers')
token = models.CharField(max_length=10, blank=True)
serializers.py:
class PossibleAnswerSerializer(serializers.ModelSerializer):
#companyId = serializers.RelatedField()
class Meta:
model = PossibleAnswer
fields = ('answerString', 'token', 'pollId', 'companyId')
我想为具有名为 company 的字段的 PossibleAnswer 对象创建一个序列化程序。如何做这个参考?类似于:django 查询集过滤器中的 pollId__companyId。
【问题讨论】:
-
将 Django fkey 字段命名为
pollId不是一个好主意——该字段将包含Poll对象,而不是 ID。 -
需要写入字段还是只读?
-
我认为,它可以是只读的。我需要使用 companyId 创建自定义权限,以检查某个用户是否可以创建 PossibleAnswer。
标签: python django serialization django-rest-framework