Django, как фильтровать данные с помощью двухслойного внешнего ключа - PullRequest
0 голосов
/ 22 декабря 2018

Меня смущает, как получить правильный результат ...

Вот модель

class StockInForm(models.Model):
    color = models.ForeignKey(Color, ...)

class Color(models.Model):
    color = models.CharField(...)
    supplier = models.ForeignKey(Supplier, ...)

class Supplier(models.Model):
    supplier = models.CharField(...)

Мне дали ключевое слово поставщика, и я хочу получить форму, котораясопоставьте ключевое слово.Я пробовал много раз, но не знаю, как это сделать.Могу ли я дать несколько советов?Спасибо.


Если мне дали ключевое слово color, я могу использовать

StockInForm.objects.filter(**{"color__color" : keyword})

, чтобы получить всю форму с ключевым словом color.Но это не работает, когда я использую, как это

StockInForm.objects.filter(**{"color__color__supplier " : keyword})

1 Ответ

0 голосов
/ 22 декабря 2018

Я думаю, что вам нужно сделать

StockInForm.objects.filter(color__supplier__supplier=keyword)

Или, если вы хотите использовать словарь:

StockInForm.objects.filter(**{"color__supplier__supplier " : keyword})

color__supplier__supplier - вы проверяете цвет полеStockInForm.Это относится к ColorColor проверьте поставщик поле.Которая относится к Supplier модели и последней является проверка поставщик поле.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...