Django - данные одной учетной записи отображаются на другой учетной записи

У меня есть система регистрации домашних животных, где клиент может войти в свой аккаунт и зарегистрировать своих животных. Однако после того, как вы зарегистрировали животное и вышли из системы, а другой пользователь вошел в систему, он может видеть всех питомцев всех пользователей. Я не уверен, что является причиной этого.

my views.py

def customer_profile(request):
    if request.method == "GET":
        if request.user.is_authenticated:
            get_pets = PetRegistration.objects.filter()
            context = {
                "pets": get_pets,
            }
            return render(
                request, "registration/customer-profile.html", context=context
            )
        return redirect("login")

    if request.method == "POST":
        context = {}
        return render(request, "registration/customer-signup.html", context=context)


def pet_register(request):
    if request.method == "GET":
        if request.user.is_authenticated:
            form = PetRegistrationForm()
            context = {
                "form": form,
            }
            return render(request, "registration/pet-register.html", context=context)
        return redirect("login")

    if request.method == "POST":
        form = PetRegistrationForm(request.POST, request.FILES)
        context = {
            "form": form,
        }
        if form.is_valid():
            form = form.save(commit=False)
            form.user = request.user
            form.save()
            return redirect("customer_profile")
        return render(request, "registration/pet-register.html", context=context)

model.py

class PetRegistration(models.Model):
    user = models.ForeignKey(Account, on_delete=models.CASCADE)
    name = models.CharField(max_length=30)
    image = models.ImageField(null=True, blank=True)
    age = models.CharField(max_length=30)
    animal_type = models.CharField(max_length=30)
    vaccination_status = models.CharField(choices=STATUS, max_length=20)

    def __str__(self):
        return self.name
Вернуться на верх