Django Rest Frameworkのdrf-nested-routersアプリケーションを使用してAPIを作成しています。このアプリケーションは、ユーザーがセッションとタスクを持つトラッカーです。各ユーザーは3つのアクティブなタスクを持つことができ、特定のセッションでこれらの各タスクを処理できます。Django drf-nested-routers - モデルオブジェクトに帰属関連フィールドがありません
マイ(省略)のモデルは以下のとおりです。
#models.py
class User(models.Model):
name = models.Charfield()
class Task(models.Model):
start_date = models.Datefield()
task_title = models.Charfield()
user = models.ForeignKey(User, on_delete=models.CASCADE)
class Session(models.Model):
session_date = models.Datefield()
user = models.ForeignKey(User, on_delete=models.CASCADE, related_name='sessions')
task_one = models.ForeignKey(related_name="task_one")
task_one_attempts = models.IntegerField()
task_two = models.ForeignKey(related_name="task_two")
task_two_attempts = models.IntegerField()
私はこれらのモデルについては、以下の(省略)シリアライザを作成しました:
#serializers.py
class TaskSerializer(serializers.ModelSerializer):
user = serializers.StringRelatedField(many=False)
class Meta:
model = Task
fields = ('start_date', 'task_title', 'user')
class SessionSerializer(serializers.ModelSerializer):
user = Serializers.StringRelatedField(many=False)
class Meta:
model = Session
fields = ('session_date', 'user', 'task_one', 'task_one_attempts', 'task_two', 'task_two_attempts')
class UserSerializer(models.ModelSerializer):
sessions = SessionSerializer(many=True)
tasks = TaskSerializer(many=True)
sessions = SessionSerializer(many=True)
class Meta:
model = Users
fields = ('name', 'sessions', 'tasks')
私はまた私のviews.pyとurls.pyセットを持っていますルーティングを正しく実行する
私は、セッションとタスクのAPIビューにうまく行くことができます。しかし、私は、ユーザービューに移動しようとするたび、それは次のようなエラーがスローされます。
'User' object has no attribute 'tasks'.
本当に面白い何、しかし、私は「タスク」を削除し、ちょうどセッションが含まれている場合、それはすべてがうまくシリアライズということで、ユーザーのさまざまなセッションをネストして表示します。
私はここで迷っており、助けていただければ幸いです。