您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

python – django – int参数必须是字符串或数字,而不是’元组’

5b51 2022/1/14 8:20:48 python 字数 4801 阅读 469 来源 www.jb51.cc/python

我一直在看这几个小时,我似乎无法理解为什么我收到这条消息......int() argument must be a string or a number, not 'tuple' 从我的views.py这一行(注意:异常实际上发生在django核心内部更深层次,但这是我的代码行,最终触发了异常)...service_interest = ServiceIn

概述

我一直在看这几个小时,我似乎无法理解为什么我收到这条消息……

int() argument must be a string or a number,not 'tuple'

从我的views.py这一行(注意:异常实际上发生在django核心内部更深层次,但这是我的代码行,最终触发了异常)…

service_interest = ServiceInterest.objects.get_or_create(service = service,client = client)

为什么我收到此错误?为了您的利益,请参阅以下models.py,forms.py和views.py中的代码段.

models.py:

class Client(models.Model):
  name = models.CharField(max_length=100)
  email = models.EmailField()
  site = models.URLField()
  contact_date = models.DateField(default = datetime.date.today())

class Service(models.Model):
  name = models.CharField(max_length=200)

class ServiceInterest(models.Model):
  service = models.ForeignKey('Service')
  client = models.ForeignKey('Client')

  class Meta:
    unique_together = ("service","client")

forms.py …

class ContactForm(forms.Form):


SERVICE_CHOICES = (
    ('first_choice','Description of first choice'),('second_choice','Description of second choice'),('third_choice','Description of third choice'),('other','Other')
  )

  SERVICE_CHOICES_DICT = dict(SERVICE_CHOICES)

  name = forms.CharField(label='What would you like us to call you?',max_length=200,required=False)
  email = forms.EmailField(label='What is your email address?',help_text='Ex: yourname@gmail.com')
  url = forms.URLField(label='If you have a website,please provide a link',required=False,help_text="Ex: www.yoursite.com")
  service_interest = forms.MultipleChoiceField(label="Please check all of the services you're interested in:",widget=forms.widgets.CheckBoxSelectMultiple,choices=SERVICE_CHOICES,required=True)
  other = forms.CharField(label='If you selected \"Other\",please specify:',required=False)
  message = forms.CharField(max_length=10000,label='Any other information you think we should kNow?',widget=forms.widgets.Textarea)

  def clean_other(self):
    cleaned_data = super(ContactForm,self).clean()
    if 'service_interest' in cleaned_data.keys():
      options = cleaned_data['service_interest']
      if 'other' in options:
        other_input = cleaned_data['other']
        if other_input == None or len(other_input) == 0:
          raise forms.ValidationError('required when \"Other\" is checked')

    return cleaned_data

来自views.py的相关代码

  name = form.cleaned_data['name']
  email = form.cleaned_data['email']
  url = form.cleaned_data['url']
  interests = form.cleaned_data['service_interest']
  other = form.cleaned_data['other']
  message = form.cleaned_data['message']

  client = Client.objects.get_or_create(name = name,email = email,site = url)
  for interest in interests:
    service = None
    if(interest != 'other'):
      service = Service.objects.get_or_create(name = ContactForm.SERVICE_CHOICES_DICT[interest])
    else:
      service = Service.objects.get_or_create(name = other)

    # Appears to be responsible for the stack trace,even though exception
    # is one level deeper in...
    # /Library/Python/2.7/site-packages/django/core/handlers/base.py in get_response
    service_interest = ServiceInterest.objects.get_or_create(service = service,client = client)

client,created = Client.objects.get_or_create(name = name,site = url)

总结

以上是编程之家为你收集整理的python – django – int参数必须是字符串或数字,而不是’元组’全部内容,希望文章能够帮你解决python – django – int参数必须是字符串或数字,而不是’元组’所遇到的程序开发问题。


如果您也喜欢它,动动您的小指点个赞吧

除非注明,文章均由 laddyq.com 整理发布,欢迎转载。

转载请注明:
链接:http://laddyq.com
来源:laddyq.com
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


联系我
置顶