以下のモデルでは、Django REST Frameworkを使用して、私が気にしているデータ構造(以下も参照)を返す方法を見つけようとしています。DRF:シリアライザまたはビューのデータ構造ですか?
これはシリアライザ内でどのように達成されるのですか、伝統的なDjangoスタイルのクエリを使用してビュー内にそのようなデータ構造を構築する必要がありますか?
について
基本的には、単語が作成され、ユーザーはその単語の定義を提出し、各定義に投票(おかしな、悲しい、WTF、など)
models.py
クエリ結果の構造 期待from django.db import models
class Word(models.Model):
user = models.ForeignKey(User, on_delete=models.CASCADE)
word = models.CharField()
timestamp = models.DateTimeField()
class Definition(models.Model):
user = models.ForeignKey(User, on_delete=models.CASCADE)
word = models.ForeignKey(Word, on_delete=models.CASCADE)
definition = models.CharField()
timestamp = models.DateTimeField()
class Vote_category(models.Model):
category = models.CharField()
class Vote_history(models.Model):
user = models.ForeignKey(User, on_delete=models.CASCADE)
definition = models.ForeignKey(Definition, on_delete=models.CASCADE)
timestamp = models.DateTimeField()
vote = models.ForeignKey(Vote_category, on_delete=models.CASCADE)
word: 'hello', definitions: [ { user: 'alice', definition: 'an expression of greeting', votes: { funny: 3, sad: 1, wtf: 7 }, votes_total: 11 }, etc... ]
ありがとうございます!
定義は 'dict'ではなく' list'でなければなりません。 –
@Michael:良いキャッチ。私はこの例を更新しました。ありがとう。 –