Django - 序列化父母协会

时间:2015-11-23 01:22:18

标签: python mysql django django-models django-rest-framework

我正在尝试从One到N的关系创建一个序列化的RESTful响应。

我有一个表Lexicon,主键lexicon_id,我有另一个表lexicon_attributes,主键lexicon_attribute_id,外键lexicon_id

class Lexicons(models.Model):
    """
    Holds all words
    """
    lexicon_id = models.BigIntegerField(primary_key=True)
    word = models.TextField(blank=True, null=True)
    date_created = models.DateTimeField(blank=True, null=True)
    date_modified = models.DateTimeField(blank=True, null=True)

    class Meta:
        managed = True
        db_table = 'lexicons'

class LexiconAttributes(models.Model):
    class Meta:
        managed = True
        db_table = 'lexicon_attributes'

    lexicon_attribute_id = models.AutoField(primary_key=True)
    lexicon_id = models.ForeignKey('Lexicons', db_column='lexicon_id', related_name="lexicon_attributes")
    is_verb = models.CharField(max_length=1, blank=True, null=True)
    is_plural = models.CharField(max_length=1, blank=True, null=True)
    is_past_tense = models.CharField(max_length=1, blank=True, null=True)

串行

class LexiconAttributesSerializer(serializers.ModelSerializer):
    class Meta:
       model = LexiconAttributes 
       fields = '__all__'  

class LexiconsSerializer(serializers.ModelSerializer):
    lexicon_attributes = LexiconAttributesSerializer(source='*', many=False)
    class Meta:
        model = Lexicons

当我提出/ lexicons / 2 /

的请求时

{ "lexicon_id": 2, "lexicon_attributes": { "lexicon_id": 2 }, "word": "computer", "date_created": "2015-07-30T20:29:19Z", "date_modified": "2015-07-30T20:29:19Z" } 如何获取lexicon_attributes表中的其他字段

仅供参考我是第二周进入Django,我的应用程序最初是在Cakephp3中完成的

1 个答案:

答案 0 :(得分:1)

461518B1

3天后为我解决了问题