• Как проверить дублируется ли пост в базе данных django?

    @vladidik Автор вопроса
    Сергей Тихонов, Спасибо большое, вы мне очень помогли. но чуть чуть доработал. Огромное спасибо
    Выкладываю код, вдруг кому пригодится.
    form = AddBookForm
        if request.method =='POST':
            form = AddBookForm(request.POST)
            if form.is_valid():
                get_category = Category.objects.get(name=form.cleaned_data["category"])#получаем имя категории
                get_book, create_book = Book.objects.get_or_create(
                    name=form.cleaned_data["name"],#наименование книги
                    category=form.cleaned_data["category"], #категория
                )
                if not create_book :
                    raise ValidationError("Есть совпадения, проверьте на дубль")
                else:
                    return redirect('/') # Сохраняет форму и перекидывает на главную, можно подкрутить сообщение типа книга добавлена

    Вопрос закрыт!
  • Как проверить дублируется ли пост в базе данных django?

    @vladidik Автор вопроса
    Сергей Тихонов, Значит он увы не подходит. я так понимаю что я должен во вьюхе написать цикл, который пройдётся по всем данным в базе, и проверит их на сходство введённых данных из формы, типа if category and author and name == данные из формы, тогда выдаёт ошибку, если хоть одно из значений не совпадёт, тогда добро пожаловать в базу (Привем Категория = Детектив, Автор = Джек Лондон, Имя = Шерлок Холмс, ну допустим и вот если я точно такие же данные внесу в форму, он выдаст ошибку. если я введу Детектив, Джек Лондон и Имя например Анна Каренина, он внесёт эти данные в базу)
  • Как проверить дублируется ли пост в базе данных django?

    @vladidik Автор вопроса
    Сергей Тихонов, а если необходимо будет под этой же категорией сохранить другу книгу и другого автора, ошибку не выдаст?
  • Как проверить дублируется ли пост в базе данных django?

    @vladidik Автор вопроса
    Нет, уникальный индекс не подходит, нужно сравнить если категория. имя автора и название точь в точь что и в базе данных, тогда вывести ошибку.
    извините дубль
    , а если хоть по одному из пунктов не совпадает, тогда внести данные в базу.