Могу ли я использовать и django autofield и foreignkey для одного поля?
Итак, у меня есть конкретный случай использования, в настоящее время в базе данных есть таблица с одним полем, которое действует как первичный ключ и внешний ключ (и у меня нет доступа к изменению этого, поскольку это нарушит другие процессы)
Итак, то, что я пытался сделать с моделями, выглядит примерно так:
class Foos(models.Model):
foo_id = models.AutoField(primary_key=True)
foo_name = models.CharField(max_length=15)
foo_dt = models.DateTimeField()
class Bars(models.Model):
bar_id = models.AutoField(primary_key=True)
bar_id = models.ForeignKey(Foos, db_column='bar_id', on_delete=models.CASCADE, blank=True, null=True, related_name='bars')
bar_qty = models.IntegerField()
bar_image = models.ImageField()
Это не сработало, так как django сохранит последнее bar_id
(поле foreignField) и проигнорирует AutoField
, дело в том, что мне нужен внешний ключ для обратного поиска, например Foos.object.values(bars__bar_qty)
, чтобы я мог получить левый внешний запрос join. Но кому-то еще нужно AutoField
.
Я знаю, что django очень строг к этому, но есть ли возможное решение? Мне просто нужно сохранить обратный поиск, я не против автополя, если это возможно, но дело в том, что django возвращает ошибку not permitted.