Я хотел бы просто получить доступ к таблице базы данных, которая содержит внешний ключ.У меня есть 2 таблицы, созданные в Postgres 9.1.
Модели в Django:
class bfirma(models.Model):
class Meta:
db_table="bfirma"
f_id= models.IntegerField(primary_key=True)
f_name = models.TextField()
.
class bworker(models.Model):
class Meta:
db_table="bworker"
w_id = models.IntegerField(primary_key=True)
w_name = models.TextField()
fk_f_id=models.ForeignKey(bfirma)
Вот как это выглядит в таблице:
bfirma(table)
f_id(pk)|f_name
1 BMW
2 Benz
bworker(table)
w_id(pk)|w_name|fk_f_id(fk)
1 WorkerA 1
2 WorkerB 1
3 WorkerC 2
Вызов модели bfirma без FOREIGN KEY работает нормально.Нет проблем.Но я не могу назвать модель рабочий
bf= bfirma.objects.using(db).filter(f_name='BMW').values() WORKING FINE
bw = bworker.objects.using(db).all().values() ERROR:= Unable to get repr for <class 'django.db.models.query.ValuesQuerySet'>
Если я закомментирую следующую строку с определением FOREIGN KEY, она будет работать
#fk_f_name=models.ForeignKey(bfirma)
Я бы простохотелось бы иметь что-то действительно очень простое: имя bfirma и bworker
select bfirma.f_name, bworker.w_name from bfirma, bworker
where bfirma.f_id = bworker.fk_f_id
Обновление: Вчера мой компьютер просто завис;я должен был вернуться.После этого я создал новую базу данных и, как ни странно, она работала.Каким-то образом теперь он может обрабатывать строку с помощью ForeignKey ...