Сбой ограничения NOT NULL: complaint_complaint.resident_id - PullRequest
0 голосов
/ 11 марта 2020

Я пишу приложение, в котором люди могут подавать свои жалобы, связанные с некоторыми проблемами. После отправки формы она должна быть перенаправлена ​​на страницу, где указаны детали жалобы, такие как область жалобы, заголовок, описание и т. Д. c.

Но после отправки формы она бросает IntegrityError.

Я прочитал об этом и рассмотрел некоторые решения:

  1. Кто-то предложил мне удалить некоторые прошлые миграции и запустить их снова. Я очистил миграции, запустил их снова и сделал несколько сообщений через администратора, но он выдает ту же ошибку.
  2. В некоторых сообщениях предлагается добавить null = True, пусто = True, но я не понимаю, где они должно быть добавлено в моем случае. Я также не хочу добавлять null = True, пусто = True, потому что я не хочу, чтобы какое-либо поле оставалось пустым.

Ниже приведены мои models.py:

from django.db import models
from django.urls import reverse

# Create your models here.
class Complaint(models.Model):
    """ Details of the complaint """
    resident = models.ForeignKey('auth.User', on_delete=models.CASCADE)
    AREA = [('PL', 'Plumbing'), ('EL', 'Electricity'), ('CP', 'Carpenter'), ('CO', 'Construction'), ('DS', 'Disputes'), ('OT', 'Other'),]
    matter = models.CharField(max_length=2, choices=AREA)
    title = models.CharField(max_length=200)
    text = models.TextField()
    date = models.DateTimeField(auto_now_add=True)

    def __str__(self):
        return self.title

    def get_absolute_url(self):
        return reverse('comp_detail', args=[str(self.id)])

Ниже приведен мой urls.py, который я создал в своей «жалобе»:

Примечание. Я использовал представления на основе классов в моих views.py

from django.urls import path

from .views import CompListView, CompDetailView, CompCreateView

urlpatterns = [
    path('comp/new/', CompCreateView.as_view(), name='comp_new'),
    path('comp/<int:pk>/', CompDetailView.as_view(), name='comp_detail'),
    path('', CompListView.as_view(), name='home'),
]

Некоторая помощь будет оценили.

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