Как я могу исправить проблему пользователей и моделей? - PullRequest
1 голос
/ 31 октября 2019

Я создаю проект, и у меня есть 2 проблемы.

В models.py у меня есть:

from django.db import models
from children.models import Child
from django.contrib.auth.models import User

class OrderLineItem(models.Model):
    order= models.ForeignKey("Order", null=False, on_delete=models.CASCADE, related_name="order")
    child = models.ForeignKey(Child, null=False, on_delete=models.CASCADE)
    donation = models.IntegerField(blank=False)

    def __str__(self):
        return "{0}-{1}".format(
            self.donation, self.child.name)
class Order(models.Model):
    full_name = models.ForeignKey(User, blank=False, on_delete=models.CASCADE)
    phone_number = models.CharField(max_length=20, blank=False)
    country = models.CharField(max_length=40, blank=False)
    postcode = models.CharField(max_length=20, blank=True)
    town_or_city = models.CharField(max_length=40, blank=False)
    street_address1 = models.CharField(max_length=40, blank=False)
    street_address2 = models.CharField(max_length=40, blank=True)
    date = models.DateField()
    orderlineitem = models.ForeignKey(OrderLineItem, on_delete=models.CASCADE, related_name="orderlineitem")

    def __str__(self):
        return "{0}-{1}-{2}".format(self.id, self.date, self.full_name)

В html-кассе у меня есть:


<form role="form" method="post" id="payment-form" action="{% url 'checkout' %}">
    <legend>Payment Details</legend>

    <div id="credit-card-errors" style="display: none;">
        <div id="alert-message block-message error" id="stripe-error-message"></div>
    </div>

    <div class="form-group col-md-6">
        {{ order_form | as_bootstrap }}
    </div>

    <div class="form-group col-md-6">
        {{ payment_form | as_bootstrap }}
    </div>

    {% csrf_token %}
    <div class="form-group col-md-12">
        <input class=" btn btn-primary" id="submit_payment_btn" name="commit" type="submit" value="Submit Payment">
    </div>
</form>

Есть 2 проблемы: 1. Я не могу вполное имя только текущий пользователь, но все пользователи 2. Это позволяет мне только один заказ на пользователя, то есть, если я пытаюсь разместить другой заказ с тем же пользователем, я получаю эту ошибку: Заказ с этим полным именем уже существует. Как я могу это исправить?

...