У меня есть эта модель:
class Assignment(models.Model)
assignment_date = models.DateField(blank=True, null=True)
chosen_driver = models.ManyToManyField('driver.Driver', blank=True, verbose_name=_(
"Chosen driver"), related_name="driver_chosen")
...
Выбранный водитель может иметь только одно назначение в день. Поэтому, когда я получаю Assignment
набор запросов, я хочу проверить assignment_date
, а затем посмотреть, есть ли у модели Driver
назначение с этой датой.
Поэтому я подумал что-то вроде этого:
driver = get_object_or_404(Driver, pk=1)
dcl = []
for entry in driver.driver_chosen.all():
dcl.append(entry.assignment_date)
Затем у нас есть список со всеми датами назначений, где выбран этот Driver
.
Затем при построении набора запросов из Assignment
может быть что-то подобное для сравнения дат с каждым other и исключить из набора запросов:
for entry in Assignment.objects.all()
if entry.assignment_date in dcl:
queryset = Assignment.objects.exclude(entry.pk)
return queryset
Но это возвращает ошибку TypeError: cannot unpack non-iterable int object
.
Может кто-нибудь помочь?