Аннотация 'item_id' конфликтует с полем в модели в Django 3.0

Я обновил свой проект последними версиями python и Django

Я получаю эту ошибку "Аннотация 'item_id' конфликтует с полем в модели"

Вот мой views.py

selected_pricelist = int(pricelist or request.COOKIES.get('selected_pricelist', 0))
if selected_pricelist:
        try:

            item_prices = ItemPrices.objects.filter(
                                item__in=data, client=client,
                                pricelist_id=selected_pricelist)

        except ItemPrices.DoesNotExist:
            logger.debug('Item prices not found')
            selected_pricelist = ''

        else:
            data = item_prices.order_by('-item__created_at').annotate(
                        item_id=F('item_id'), item_name=F('item__item_name'),form=F('item__form'),
                        part_number=F('item__part_number'),height=F('item__height'),
                        description=F('item__description'),girth=F('item__girth'),
                        currency=F('pricelist__currency'),long=F('item__long'),pot_size=F('item__pot_size'),
                        lat=F('item__lat'),grading=F('item__grading'),area=F('item__area'),
                        unit_price=F('price'), quantity=F('item__quantity'),
                        supplier=F('item_id__supplier_one__supplier_name'),
                        batch_number=F('item_id__batch_number')).values()

Вот мой models.py

    class JobItems(models.Model):
       item_name = models.CharField(max_length=512)
       batch_number = models.CharField(max_length=200, blank=True, null=True)
       ....
       ....
    
class PriceList(TimeStampedModel):
    client = models.ForeignKey(Client,on_delete=models.CASCADE)

    name = models.CharField(max_length=40)
    currency = models.CharField(max_length=10, choices=CURRENCY_CHOICES,
                                default=CURRENCY_CHOICES[0][0])

    class Meta:
        ordering = ('name', )
        unique_together = (('client', 'name'), )

    def __str__(self):
        return self.name

    class ItemPrices(TimeStampedModel):
        client = models.ForeignKey(Client,on_delete=models.CASCADE)
        pricelist = models.ForeignKey(PriceList,on_delete=models.CASCADE)
    
        item = models.ForeignKey(JobItems,on_delete=models.CASCADE)
        price = models.DecimalField(max_digits=10, decimal_places=2,
                                    help_text=_('Price in GBP'))
    
        class Meta:
            unique_together = (('pricelist', 'item'), )

Вот трассировка моей ошибки

Traceback (most recent call last):
  File "/home/xyz/abc/lib/python3.7/site-packages/django/core/handlers/exception.py", line 34, in inner
    response = get_response(request)
  File "/home/xyz/abc/lib/python3.7/site-packages/django/core/handlers/base.py", line 115, in _get_response
    response = self.process_exception_by_middleware(e, request)
  File "/home/xyz/abc/lib/python3.7/site-packages/django/core/handlers/base.py", line 113, in _get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "/home/xyz/abc/lib/python3.7/site-packages/django/views/decorators/csrf.py", line 54, in wrapped_view
    return view_func(*args, **kwargs)
  File "/home/xyz/abc/lib/python3.7/site-packages/django/contrib/auth/decorators.py", line 21, in _wrapped_view
    return view_func(request, *args, **kwargs)
  File "/home/xyz/test/dev-1.8/server/mcam/views.py", line 8238, in get_data
    batch_number=F('item_id__batch_number')).values()
  File "/home/xyz/abc/lib/python3.7/site-packages/django/db/models/query.py", line 1067, in annotate
    "the model." % alias)
ValueError: The annotation 'item_id' conflicts with a field on the model.

Здесь я использую версию python - 3.7 и Django версии 3.0

Как я могу изменить свой код, чтобы ошибка была исправлена

Вернуться на верх