Django: проблема вставки данных ForeignKey (не удается добавить продукт - PullRequest
0 голосов
/ 19 марта 2020

Я новичок в django Моя проблема в django -admin-интерфейсе всякий раз, когда я пытаюсь создать продукт с категорией, которая уже занята другим существующим продуктом, я получаю ошибку: Продукт с этой категорией уже существует в интерфейсе администратора

, например : я создал 1 продукт i-phone с категорией Electroni c, сохраняет в БД. Теперь, если я создаю другой продукт Google-nexus с той же категорией, например Electroni c, я не могу создать продукт, поскольку эта ошибка отображается в django -admin- интерфейс: Продукт с этой категорией уже существует

Я создал 3 модели в своем приложении, как показано ниже

models.py

from django.db import models

class Category(models.Model):
    name = models.CharField(max_length=255)

    def __str__(self):
        return self.name

class Tag(models.Model):
    name = models.CharField(max_length=255)

    def __str__(self):
        return self.name

class Product(models.Model):
    product_name = models.CharField(max_length=255)
    tags = models.ManyToManyField(Tag)
    image = models.ImageField(upload_to='images')
    category = models.OneToOneField(Category, on_delete=models.CASCADE)
    description = models.TextField()

    def __str__(self):
        return self.product_name

forms.py

from django import forms
from.models import Product
class ProductForm(forms.ModelForm):
    class Meta:
        model = Product
        fields = ('product_name', 'category', 'description', 'image', 'tags')
    def __init__(self,*args,**kwargs):
        super(ProductForm,self).__init__(*args,**kwargs)
        self.fields['category'].empty_label = 'Select'
        self.fields['image'].required = False

Имеются ли неправильные отношения модели .?

снимок ошибки django -admin

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...