Привет команде StackOverflow,Джанго - Как связать столов
Я следующие две таблицы: Джанго
class StraightredFixture(models.Model):
fixtureid = models.IntegerField(primary_key=True)
soccerseason = models.IntegerField(db_column='soccerSeason') # Field name made lowercase.
hometeamid = models.IntegerField()
awayteamid = models.IntegerField()
fixturedate = models.DateTimeField()
fixturestatus = models.CharField(max_length=24)
fixturematchday = models.IntegerField()
hometeamscore = models.IntegerField()
awayteamscore = models.IntegerField()
class Meta:
managed = False
db_table = 'straightred_fixture'
class StraightredTeam(models.Model):
teamid = models.IntegerField(primary_key=True)
teamname = models.CharField(max_length=36)
teamcode = models.CharField(max_length=5)
teamshortname = models.CharField(max_length=24)
class Meta:
managed = False
db_table = 'straightred_team'
В views.py я знаю, что я могу поставить следующее, и она работает отлично :
def test(request):
fixture = StraightredFixture.objects.get(fixtureid=136697)
return render(request,'straightred/test.html',{'name':fixture.hometeamid})
Как я уже говорил выше, это все работает хорошо, но я ищу, чтобы вернуть teamname в hometeamid, которую можно найти в модели StraightredTeam.
После некоторого осмотра меня подтолкнули в сторону «select_related», но я не понимаю, как его реализовать в моих существующих таблицах, а также если это наиболее эффективный способ для этого типа запросов. Он чувствует себя хорошо.
Обратите внимание, что этот код был создан с использованием «python manage.py inspectdb».
Любые советы на этом этапе были бы весьма полезными. Большое спасибо, Алан.
Я уверен, что этот код был созданный с помощью 'python manage.py inspectdb', если да, укажите его в своем вопросе. – aumo
Вы, сэр, гений. Я обновил вопрос по запросу. –