列“ user_id”中的空值违反了Django 1.9中的非空约束

查尔斯·史密斯

我已经竭尽全力尝试为此提出一个解决方案,但是我目前对Python和Django的了解只能使我走到目前。

我正在创建一个基本的票务系统,并且在创建Profile模型然后将Ticket模型分离到其自己的应用程序之前,CreateView一直可以正常工作。重构代码时已经创建了几张票证,这就是为什么我知道ListView有效,DeleteView和DetailView有效的原因。直到我点击“保存”按钮,CreateView才起作用。

我的观点和模型如下;我希望有人可以帮我解决这个问题。

票务模型

from django.db import models
from django.contrib.auth.models import User
....
from qcapp.models import Profile


class Ticket(models.Model):
    # Relations
    user = models.ForeignKey(Profile, on_delete=models.CASCADE, related_name="tickets", verbose_name="user")
    # Attributes
    title = models.CharField(max_length=250, verbose_name="Title", help_text="Enter a Ticket Title")
    color = models.CharField(max_length=7,
                             default="#ffffff",
                             validators=[RegexValidator("(^#[0-9a-fA-F]{3}$)|(^#[0-9a-fA-F]{6}$)")],
                             verbose_name="Color",
                             help_text="Enter the hex color code, like #ccc or #cccccc")
    description = models.TextField(max_length=1000)
    created_date = models.DateTimeField(default=timezone.now, verbose_name='Created Date')
    created_by = models.ForeignKey(User, related_name='created_by_user')
    # Attributes
    # Object Manager
    objects = managers.ProjectManager()

    # Meta and String
    class Meta:
        verbose_name = "Ticket"
        verbose_name_plural = "Tickets"
        ordering = ("user", "title")
        unique_together = ("user", "title")

    def __str__(self):
        return "%s - %s" % (self.user, self.title)

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

票证视图(仅CreateView)

# -*- coding: utf-8 -*-
...
from django.views.generic import CreateView, UpdateView, DeleteView
...
from .models import Ticket


...

class TicketCreate(CreateView):
    model = Ticket
    template_name = "tickets/ticket_form.html"
    fields = ['title', 'description']

    def form_valid(self, form):
        form.instance.created_by = self.request.user
        return super(TicketCreate, self).form_valid(form)

...

配置文件模型(导入票证模型)

from django.db import models
from django.conf import settings
from django.contrib.auth.models import User
from django.dispatch import receiver
from django.db.models.signals import post_save
from . import managers


class Profile(models.Model):
    # Relations
    user = models.OneToOneField(settings.AUTH_USER_MODEL, on_delete=models.CASCADE, related_name="profile", verbose_name="user")
    # Attributes
    interaction = models.PositiveIntegerField(default=0, verbose_name="interaction")
    # Attributes
    # Object Manager
    objects = managers.ProfileManager()

    # Custom Properties
    @property
    def username(self):
        return self.user.username

    # Methods

    # Meta and String
    class Meta:
        verbose_name = "Profile"
        verbose_name_plural = "Profiles"
        ordering = ("user",)

    def __str__(self):
        return self.user.username


@receiver(post_save, sender=settings.AUTH_USER_MODEL)
def create_profile_for_new_user(sender, created, instance, **kwargs):
    if created:
        profile = Profile(user=instance)
        profile.save()
Themanatuf

看来您需要TicketCreateform_valid函数中类中添加以下内容

form.instance.user = Profile.objects.get(user=self.request.user)

让我知道是否可行!

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Django-IntegrityError:“ user_id”列中的空值违反了非空约束

来自分类Dev

列“ user_id”中的Django空值违反了非空约束

来自分类Dev

Django:“ user_id”列中的空值违反了非空约束

来自分类Dev

“ owner_id”列中/ new空值处的Django IntegrityError违反了非空约束

来自分类Dev

Django-列中的空值违反了Django Admin中的非空约束

来自分类Dev

Django-列中的空值违反了Django Admin中的非空约束

来自分类Dev

错误:“ id”列中的空值违反了非空约束

来自分类Dev

Rails:PG :: NotNullViolation:错误:“ id”列中的空值违反了非空约束

来自分类Dev

500错误:“ timeline_id”列中的空值违反了非空约束

来自分类Dev

Rails:PG :: NotNullViolation:错误:“ id”列中的空值违反了非空约束

来自分类Dev

Django - “wins”列中的空值违反了非空约束

来自分类Dev

提交表单时,为什么 Django 会在“user_id”列中引发 IntegrityError :null 值违反非空约束?

来自分类Dev

在DRF(django-rest-framework)中,列“ author_id”中的空值违反了非空约束。我该怎么办?

来自分类Dev

如何解决错误:(psycopg2.errors.NotNullViolation)列“ id”中的空值违反了非空约束?

来自分类Dev

Django 自定义用户模型:IntegrityError:“is_superuser”列中的空值违反了非空约束

来自分类Dev

“ last_login”列中的空值违反了非空约束

来自分类Dev

使用upsert时,“ created_at”列中的空值违反了非空约束

来自分类Dev

WSO2AM 分析 2.1 - “os”列中的空值违反了非空约束

来自分类常见问题

Odoo:服务器操作在“ activity_user_type”列中返回空值违反了非空约束

来自分类Dev

IntegrityError:关系“ message”的列“ category_id”中的空值违反了非空约束详细信息:失败行包含

来自分类Dev

django.db.utils.IntegrityError:关系“ movie_movie”的列“ author_id”中的空值违反了非空约束,不知道为什么会这样

来自分类Dev

违反完整性约束:1048列“ user_id”不能为空

来自分类Dev

Django:(1048,“列'user_id'不能为空”)

来自分类Dev

如何从列和前后列中返回第 1 2...n 个非空值

来自分类Dev

对一组列的非空约束

来自分类Dev

两列的复合非空约束

来自分类Dev

列的非空值中的Excel列表

来自分类Dev

空值违反了非空约束,但是模型具有空白= True null = True

来自分类Dev

ir.cron:“错误:NULL 值违反了“model_id”列的 NOT NULL 约束

Related 相关文章

  1. 1

    Django-IntegrityError:“ user_id”列中的空值违反了非空约束

  2. 2

    列“ user_id”中的Django空值违反了非空约束

  3. 3

    Django:“ user_id”列中的空值违反了非空约束

  4. 4

    “ owner_id”列中/ new空值处的Django IntegrityError违反了非空约束

  5. 5

    Django-列中的空值违反了Django Admin中的非空约束

  6. 6

    Django-列中的空值违反了Django Admin中的非空约束

  7. 7

    错误:“ id”列中的空值违反了非空约束

  8. 8

    Rails:PG :: NotNullViolation:错误:“ id”列中的空值违反了非空约束

  9. 9

    500错误:“ timeline_id”列中的空值违反了非空约束

  10. 10

    Rails:PG :: NotNullViolation:错误:“ id”列中的空值违反了非空约束

  11. 11

    Django - “wins”列中的空值违反了非空约束

  12. 12

    提交表单时,为什么 Django 会在“user_id”列中引发 IntegrityError :null 值违反非空约束?

  13. 13

    在DRF(django-rest-framework)中,列“ author_id”中的空值违反了非空约束。我该怎么办?

  14. 14

    如何解决错误:(psycopg2.errors.NotNullViolation)列“ id”中的空值违反了非空约束?

  15. 15

    Django 自定义用户模型:IntegrityError:“is_superuser”列中的空值违反了非空约束

  16. 16

    “ last_login”列中的空值违反了非空约束

  17. 17

    使用upsert时,“ created_at”列中的空值违反了非空约束

  18. 18

    WSO2AM 分析 2.1 - “os”列中的空值违反了非空约束

  19. 19

    Odoo:服务器操作在“ activity_user_type”列中返回空值违反了非空约束

  20. 20

    IntegrityError:关系“ message”的列“ category_id”中的空值违反了非空约束详细信息:失败行包含

  21. 21

    django.db.utils.IntegrityError:关系“ movie_movie”的列“ author_id”中的空值违反了非空约束,不知道为什么会这样

  22. 22

    违反完整性约束:1048列“ user_id”不能为空

  23. 23

    Django:(1048,“列'user_id'不能为空”)

  24. 24

    如何从列和前后列中返回第 1 2...n 个非空值

  25. 25

    对一组列的非空约束

  26. 26

    两列的复合非空约束

  27. 27

    列的非空值中的Excel列表

  28. 28

    空值违反了非空约束,但是模型具有空白= True null = True

  29. 29

    ir.cron:“错误:NULL 值违反了“model_id”列的 NOT NULL 约束

热门标签

归档