Как запретить пользователю создавать новый контент до тех пор, пока созданный контент не будет проверен администратором

У меня есть CreateShopView для пользователей типа продавца, чтобы просто зарегистрировать свои магазины. Модель магазина имеет поле статуса, которое по умолчанию установлено в 'processing', и, очевидно, я не включил это поле в мою ShopCreateForm, поэтому каждый раз, когда продавец регистрирует магазин, он сохраняется в базе данных со статусом 'processing'. Мой вопрос заключается в том, как я могу запретить продавцам регистрировать новые магазины, пока у них есть магазин со статусом "в обработке". спасибо заранее.

Возможно, вы даже не захотите позволить пользователю добраться до формы!

Что-то вроде этого в вашем view.py должно сработать:

from django.contrib import messages

def new_shop(request):
  shop = Shop.objects.filter(user=request.user).last()

  if shop:
    if shop.status == 'processing':
      messages.add(request, messages.ERROR, 'Your last shop has not been approved yet.')
      return redirect('shop:overview') # redirect the user and display error message

  # render the form here

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