第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

UNIQUE 約束失?。篻roups_groupmember.group_id

UNIQUE 約束失敗:groups_groupmember.group_id

郎朗坤 2023-10-06 19:24:49
我正在開發(fā)一個小型 django 項目,為此我創(chuàng)建了一項功能,允許用戶創(chuàng)建然后加入該組。現(xiàn)在,問題來了:每當我離開小組并嘗試重新加入它時,它都會顯示我在問題中提到的錯誤“唯一約束失?。篻roups_groupmember.group_id,groups_groupmember.user_id”這是我的加入課程:class JoinGroup(LoginRequiredMixin, generic.RedirectView):    def get_redirect_url(self, *args, **kwargs):        return reverse('groups:single', kwargs={'slug': self.kwargs.get('slug')})    def get(self, request, *args, **kwargs):        group = get_object_or_404(Group, slug=self.kwargs.get('slug'))        from sqlite3 import IntegrityError        try:            # GroupMember.objects.create(group=group)            GroupMember.objects.create(user=self.request.user, group=group)        except IntegrityError:            messages.warning(self.request, 'already a member!')        else:            messages.success(self.request, 'You are now a member!')        return super().get(request, *args, **kwargs)這是我的models.pyfrom django.db import modelsfrom django.utils.text import slugifyfrom django.urls import reverse# Create your models here.# GROUPS MODELS.PYimport markdownfrom django.contrib.auth import get_user_model  # returns user model that currently active in this projectUser = get_user_model()from django import templateregister = template.Library()class Group(models.Model):    name = models.CharField(max_length=256, unique=True)    slug = models.SlugField(allow_unicode=True, unique=True)    description = models.TextField(blank=True, default='')    description_html = models.TextField(editable=False, default='', blank=True)    members = models.ManyToManyField(User, through='GroupMember')    def __str__(self):        return self.name    def save(self, *args, **kwargs):        self.slug = slugify(self.name)        self.description_html = markdown.markdown(self.description)        super().save(*args, **kwargs)    def get_absolute_url(self):        return reverse('groups:single', kwargs={'slug': self.slug})    class Meta:        ordering = ['name']你能幫我解決這個問題嗎?謝謝 !:)
查看完整描述

1 回答

?
白衣非少年

TA貢獻1155條經(jīng)驗 獲得超0個贊

使用怎么樣get_or_create


class JoinGroup(LoginRequiredMixin, generic.RedirectView):

    def get_redirect_url(self, *args, **kwargs):

        return reverse('groups:single', kwargs={'slug': self.kwargs.get('slug')})


    def get(self, request, *args, **kwargs):

        group = get_object_or_404(Group, slug=self.kwargs.get('slug'))

        _, created = GroupMember.objects.create(user=request.user, group=group)

        if not created:

            messages.warning(request, 'already a member!')

        else:

            messages.success(request, 'You are now a member!')

        return super().get(request, *args, **kwargs)


查看完整回答
反對 回復(fù) 2023-10-06
  • 1 回答
  • 0 關(guān)注
  • 112 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號