Djangoモデルで一対多と多対多の関係がどのように機能するかを理解するのは苦労しています。私のスキーマは今のところこれに似ていますが、私はそれをより良くするための提案をしています。Djangoモデルの関連フィールドをすべて取得する
ユーザーとチーム間の多対多の関係。また、チームの特定のユーザーに属するスケジュールもあります。
これは私のモデルは、これまでにどのように見えるかで、
class Team(models.Model):
tid = models.AutoField(primary_key=True)
team_name = models.CharField(max_length=30)
manager_name = models.CharField(max_length=30)
class Schedule(models.Model):
sid = models.AutoField(primary_key=True)
user = models.OneToOneField(User)
date = models.DateField()
start_time = models.TimeField()
end_time = models.TimeField()
pay_rate = models.CharField(max_length=30)
location = models.CharField(max_length=50)
class BelongsTo(models.Model):
bid = models.AutoField(primary_key=True)
user = models.OneToOneField(User)
team = models.ForeignKey(Team, on_delete=models.CASCADE)
schedule = models.ForeignKey(Schedule, on_delete=models.CASCADE)
質問:自分のスケジュールとそのチーム各スケジュールが属している私は、各ユーザーの情報を取得したい、。私はそれをどうやってやるのだろう?私はBelongsTo.objects.select_related().all()
を試しましたが、それは私のために働いていません。
注:私は提案があります。スキーマやモデルやアプローチに問題がある場合は、教えてください。
それは私にエラーを与えます。 'キーワード 'team_name'をフィールドに解決できません。選択肢は:belongssto、manager_name、team_name、tid' –
申し訳ありませんが、間違えて、間にスペースを削除 – itzMEonTV
私はそれが働いたと思います! :)私は最良の答えとしてそれを選択する前に、いくつかの他のフィールドでそれをテストしてみましょう。ありがとう! –