title: django.db.utils.IntegrityError: FOREIGN KEY constraint failed
body: <p>My <strong>models.py</strong></p>
  
  <pre><code>class Order(models.Model):
      user = models.ForeignKey(User, blank=True, null=True, on_delete=models.PROTECT)
      customer_email = models.EmailField(blank=True, null=True, default=None)
      customer_name = models.CharField(max_length = 64, blank=True, null=True, default=None)
      customer_phone = models.CharField(max_length = 48, blank=True, null=True, default=None)
      customer_address = models.CharField(max_length = 128, blank=True, null=True, default=None)
      total_price = models.DecimalField(max_digits=10, decimal_places=2, default=0) #total price for all products in order
      comments = models.TextField(blank=True, null=True, default=None)
      status = models.ForeignKey(Status, on_delete=models.PROTECT)
      created = models.DateTimeField(auto_now_add=True, auto_now=False)
      updated = models.DateTimeField(auto_now_add=False, auto_now=True)
  
      def __str__(self):
          return "Заказ %s %s" % (self.id, self.status.name)
  
      class Meta:
          verbose_name = "Заказ"
          verbose_name_plural = "Заказы"
  
      def save(self, *args, **kwargs):
          super(Order, self).save(*args, **kwargs)
  </code></pre>
  
  <p>My <strong>views.py</strong>. </p>
  
  <pre><code>def checkout(request):
      session_key = request.session.session_key
      products_in_basket = ProductInBasket.objects.filter(session_key=session_key, is_active=True)
      form = CheckoutContactForm(request.POST or None)
      if request.POST:
          print(request.POST)
          if form.is_valid():
              print("OK")
              data = request.POST
              name = data.get("name", "34343434")
              phone = data["phone"]
              user, created = User.objects.get_or_create(username=phone, defaults={"first_name": name})
  
              order = Order.objects.create(user=user, customer_name=name, customer_phone=phone, status_id=1)
              for name, value in data.items():
                  if name.startswith("product_in_basket_"):
                      product_in_basket_id = name.split("product_in_basket_")[1]
                      product_in_basket = ProductInBasket.objects.get(id=product_in_basket_id)
  
                      product_in_basket.nmb = value
                      product_in_basket.order = order
                      product_in_basket.save(force_update=True)
  
                      ProductInOrder.objects.create(
                          product=product_in_basket.product, 
                          nmb=product_in_basket.nmb, 
                          price_per_item=product_in_basket.price_per_item, 
                          total_price=product_in_basket.total_price, 
                          order=order
                      )
  
          else:
              print("ERROR")
      return render(request, 'orders/checkout.html', locals())
  </code></pre>
  
  <p>The error: </p>
  
  <pre><code>Traceback (most recent call last):
    File "C:\Users\Nikita Shuliak\AppData\Local\Programs\Python\Python37- 
   32\lib\site-packages\django-2.1rc1-py3.7.egg\django\core\handlers\exception.py",   line 34, in inner
      response = get_response(request)
    File "C:\Users\Nikita Shuliak\AppData\Local\Programs\Python\Python37-32\lib\site-packages\django-2.1rc1-py3.7.egg\django\core\handlers\base.py", line 126, in _get_response
      response = self.process_exception_by_middleware(e, request)
    File "C:\Users\Nikita Shuliak\AppData\Local\Programs\Python\Python37-32\lib\site-packages\django-2.1rc1-py3.7.egg\django\core\handlers\base.py", line 124, in _get_response
      response = wrapped_callback(request, *callback_args, **callback_kwargs)
    File "C:\Users\Nikita Shuliak\Desktop\NJB\startup\orders\views.py", line 59, in checkout
      order = Order.objects.create(user=user, customer_name=name, customer_phone=phone, status_id=1)
    File "C:\Users\Nikita Shuliak\AppData\Local\Programs\Python\Python37-32\lib\site-packages\django-2.1rc1-py3.7.egg\django\db\utils.py", line 89, in __exit__
      raise dj_exc_value.with_traceback(traceback) from exc_value
    File "C:\Users\Nikita Shuliak\AppData\Local\Programs\Python\Python37-32\lib\site-packages\django-2.1rc1-py3.7.egg\django\db\backends\base\base.py", line 239, in _commit
      return self.connection.commit()
  django.db.utils.IntegrityError: FOREIGN KEY constraint failed
  </code></pre>
  
  <p><strong>STATUS MODEL EDDIT</strong></p>
  
  <p>Maybe problem is here. The problem is appeared after i added some code which you can see in comments. "This last error suggests that the Status with pk=1 already exists, but your previous error suggests the contrary. Please add your Status model to your question; lets see if there are any other conditions to consider.":</p>
  
  <pre><code>class Status(models.Model):
      name = models.CharField(max_length = 16, blank=True, null=True, default=None)
      is_active = models.BooleanField(default=True)
      created = models.DateTimeField(auto_now_add=True, auto_now=False)
      updated = models.DateTimeField(auto_now_add=False, auto_now=True)
  
      def __str__(self):
          return "Статус %s" % self.name
  </code></pre>