Форум сайта python.su
никак не получается победить фильтрацию объектов
Суть, есть модели
class Planet(models.Model): planet = models.CharField(max_length=25, verbose_name='Планета') class Candidate(models.Model): name_c = models.CharField(max_length=25, verbose_name='Имя') planet = models.ForeignKey( Planet, on_delete=models.CASCADE, verbose_name='Планета') tested = models.BooleanField(default=False, verbose_name='Протестирован?') class Jedi(models.Model): name_j = models.CharField(max_length=20, verbose_name='Имя') planet = models.ForeignKey( Planet, on_delete=models.CASCADE, verbose_name='Планета')
Отредактировано W7NTED (Янв. 30, 2020 23:03:15)
Офлайн
candidates = Candidate.objects.filter(tested=True, planet=jedi.planet)
Офлайн
m0nte-cr1st0первый фильтр отрабатывает, второй пишет
NameError: name 'jedi' is not defined
Candidate.objects.filter(planet=Jedi.planet)
TypeError: Field 'id' expected a number but got <django.db.models.fields.related_descriptors
Отредактировано W7NTED (Янв. 31, 2020 09:05:20)
Офлайн
W7NTEDЯ понятия не имею, в какой переменной ты хранишь объект.
NameError: name ‘jedi’ is not defined
Офлайн
m0nte-cr1st0спс за наводку и помощ, получилось так
Candidate.objects.filter(planet=Jedi.objects.get(id=2).planet, tested=True)
Офлайн