/join super处的TypeError(类型,obj):obj必须是类型的实例或子类型

2024-07-04 08:22:00 发布

您现在位置:Python中文网/ 问答频道 /正文

Model.py

class UserAccountModel(models.Model):

ContactEmail = models.EmailField(max_length=30)
FirstName = models.CharField(max_length=30)
LastName = models.CharField(max_length=40)
Counrty = models.CharField(max_length=50)
Phone = models.IntegerField()
ChooseUserName = models.CharField(max_length=30)
password = models.CharField(max_length=32)
EnterCaptcha = models.CharField(max_length=4)
payments = models.BooleanField(max_length=6, default=False)
showsponsor = models.CharField(max_length=30, default=False)
RegisteredDate = models.DateTimeField(auto_now_add=True, blank=True)
ActivationOn = models.DateField(auto_now_add=False,blank=True)
expiry_date = models.DateField(auto_now_add=False,blank=True)
def save(self, **kwargs):
    super(AddProgramModel, self).save(**kwargs)
    vote = UserAccountModel(AddProgramModel=self)
    vote.save()

def __str__(self):
    return self.FirstName + ":" + self.ChooseUserName

视图.py
这是我的项目视图,下面的粗体文本是django调试器在保存记录时的实际错误位置,请帮助我解决它

def join(request):

if request.method == 'POST':
    refrer = request.POST['showsponsor']
    try:
        if UserAccountModel.objects.get(ChooseUserName=str(refrer)):
            ContactEmail=request.POST['email']
            FirstName=request.POST['firstname']
            LastName=request.POST['lastname']
            Counrty=request.POST['country1']
            Phone=request.POST['phone']
            ChooseUserName=request.POST['username']
            password=request.POST['password2']
            EnterCaptcha=request.POST['captcha']
            payments=request.POST['payment']
            # referal_Name = request.POST['showsponsor']

注意:错误从这里开始join\u save\u record到join\u save\u record.save()

            join_save_record = UserAccountModel.objects.create(ContactEmail=ContactEmail,FirstName=FirstName,
                                                               LastName=LastName,Counrty=Counrty,Phone=Phone,
                                                               ChooseUserName=ChooseUserName,password=password,
                                                               EnterCaptcha=EnterCaptcha, payments='True',
                                                               ActivationOn=datetime.now,expiry_date=datetime.now,)
            join_save_record.save()
            print(join_save_record.FirstName)
            namew=request.POST['showsponsor']
            # session creating
            request.session['ChooseUserName'] = str(refrer)
            rerredby = request.session.get("ChooseUserName")
            print("session created : " + str(rerredby))
            return render(request, 'payment_verify.html', {'rerredby':rerredby})
             # messages.info(request, 'invalid refrer user except case name contact to the right persone who did')
            print("denied")
    except UserAccountModel.DoesNotExist :
        return redirect("/join")

else :
    return render(request, 'join.html')

Tags: selftruemodelsrequestsavefirstnamerecordpost

热门问题