美文网首页
Django xadmin 如何删除models.OneToOn

Django xadmin 如何删除models.OneToOn

作者: iCloudEnd | 来源:发表于2019-03-04 23:01 被阅读43次

    场景描述

    采用OneToOneField 生成Users对象,当我们需要删除Users对象时,我希望联动删除User账户。

    解决方案

    class Users(models.Model):
        user = models.OneToOneField(User,verbose_name=u'用户名',on_delete=models.DO_NOTHING)
        user_name=models.CharField(_(u'人员姓名'),max_length=30)
        user_type=models.ManyToManyField(UsersType,verbose_name=u'人员类型')
        user_department=models.ForeignKey(Department, verbose_name=u'单位信息',on_delete=models.DO_NOTHING)
        user_mobilephone=models.CharField(_(u'手机号码'), max_length=25,null=True,blank=True)
    
    

    删除

        def delete_models(self, queryset):
            userList=[]
            for obj in queryset:
                UserWidget.objects.filter(user=obj.user).delete()
                UserSettings.objects.filter(user=obj.user).delete()
                userList.append(obj.user)
                
    
            super(UsersAdmin, self).delete_models(queryset)
            for item in userList:
                item.delete()
    
    

    相关文章

      网友评论

          本文标题:Django xadmin 如何删除models.OneToOn

          本文链接:https://www.haomeiwen.com/subject/iifguqtx.html