Поиск в реляционной базе данных Django
-
13-09-2019 - |
Вопрос
Я не могу понять, как строить отношения.
У меня есть модель продуктов и модель магазинов.У продукта есть внешний ключ к хранилищам.
Поэтому я хотел бы получить название продукта и название магазина в одном поиске.
Поскольку модель продукта:
class Products(models.Model):
PrName = models.CharField(max_length=255)
PrCompany = models.ForeignKey(Companies)
И модель компании:
class Companies(models.Model):
ComName = models.CharField(max_length=255)
Как заставить django возвращать ComName (из модели компании), когда я это делаю:
Prs = Products.objects.filter(PrName__icontains=ss)
Решение
Предполагая, что вы получите результаты:
Prs[0].PrCompany.ComName # Company name of the first result
Если вы хотите, чтобы все названия компаний были в списке:
company_names = [product.PrCompany.ComName for product in Prs]
Не связан с StackOverflow