Django'NoneType'对象在表单保存中没有属性'__getitem__'

用户名

我有一个相当简单的表格,但是我收到了ModelChoiceField的TypeError,我不明白为什么。表单返回模型ID号,使用该ID号,我应该能够查找特定模型并将其用于任何目的。但是它不是这样,这是我的表单代码:

class TestimonialForm(forms.Form):
    title = forms.CharField(max_length=100)
    content = forms.CharField(max_length=500, widget=forms.Textarea)
    ratings = (
        (1, '1'),
        (2, '2'),
        (3, '3'),
        (4, '4'),
        (5, '5')
          )
    rating = forms.ChoiceField(choices=ratings, widget=forms.RadioSelect)
    reward = forms.ModelChoiceField(queryset=Reward.objects.all())
    username = forms.CharField(max_length=50, widget=forms.HiddenInput)
    def clean(self):
        cleaned_data = super(TestimonialForm, self).clean()
        usr = cleaned_data.get('username')
        res = cleaned_data.get('reward')
    if Reward_Review.objects.filter(id=res.id).filter(affiliate__username=usr):
        raise forms.ValidationError("You have already submitted a testimonial. You can only submit one per gift card.")
    if not Redeem.objects.filter(reward__id=res.id).filter(affiliate__username=usr):
        raise forms.ValidationError("You haven't received this gift card yet, so you cannot write a review for it.")
    def clean_username(self):
    data = self.cleaned_data['username']
    try: 
        Affiliate.objects.get(user__username=data)
    except ObjectDoesNotExist, e:
        msg = 'The username provided by the form submission does not match anyone in our database.'
        logger.exception(e)
        logger.debug(msg, exc_info=True)
        raise forms.ValidationError("Invalid username. Please try again later.")
    return data
    def save(self, request, *args, **kwargs):
    data = self.cleaned_data
    user = request.user
    re = Reward.objects.get(id=data['reward'])
    points = Points.objects.create(affiliate=user, points=float(10), from_offer=False, from_task=True)
    rate = Reward_Rating.objects.create(affiliate=user, reward=re, rating_value=data['rating'])
    testimonial = Reward_Review.objects.create(affiliate=user, reward=re, reward_rating=rate, review_title=data['title'], review_content=data['content'])
    return testimonial

完整跟踪:

Environment:
Request Method: POST
Traceback:

File "/app/.heroku/python/lib/python2.7/site-packages/django/core/handlers/base.py" in get_response
  114.                     response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/app/.heroku/python/lib/python2.7/site-packages/django/views/generic/base.py" in view
  69.             return self.dispatch(request, *args, **kwargs)
File "/app/.heroku/python/lib/python2.7/site-packages/django/utils/decorators.py" in _wrapper
  29.             return bound_func(*args, **kwargs)
File "/app/.heroku/python/lib/python2.7/site-packages/django/contrib/auth/decorators.py" in _wrapped_view
  22.                 return view_func(request, *args, **kwargs)
File "/app/.heroku/python/lib/python2.7/site-packages/django/contrib/auth/decorators.py" in _wrapped_view
  22.                 return view_func(request, *args, **kwargs)
File "/app/.heroku/python/lib/python2.7/site-packages/django/utils/decorators.py" in bound_func
  25.                 return func(self, *args2, **kwargs2)
File "/app/myapp/views.py" in dispatch
  756.         return super(TestimonialFormView, self).dispatch(*args, **kwargs)
File "/app/.heroku/python/lib/python2.7/site-packages/newrelic-2.8.0.7/newrelic/hooks/framework_django.py" in wrapper
  809.             return wrapped(*args, **kwargs)
File "/app/.heroku/python/lib/python2.7/site-packages/django/views/generic/base.py" in dispatch
  87.         return handler(request, *args, **kwargs)
File "/app/.heroku/python/lib/python2.7/site-packages/django/views/generic/edit.py" in post
  171.             return self.form_valid(form)
File "/app/myapp/views.py" in form_valid
  743.  form.save(self.request)
File "/app/myapp/forms.py" in save
  215.  re = Reward.objects.get(id=data['reward'])

Exception Type: TypeError at /testimonials/
Exception Value: 'NoneType' object has no attribute '__getitem__'
布鲁诺·德斯胡里尔斯

Form.clean() 必须返回清除的数据。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Django错误:TypeError:“ NoneType”对象没有属性“ __getitem__”

来自分类Dev

Kivy,TypeError:“ NoneType”对象没有属性“ __getitem__”

来自分类Dev

python 2.7.8 TypeError:'NoneType'对象没有属性'__getitem__'

来自分类Dev

Python,烧瓶:TypeError:“ NoneType”对象没有针对填充表单的属性“ __getitem__”

来自分类Dev

Django 1.6:“ instancemethod”对象没有属性“ __getitem__”

来自分类Dev

Django'instancemethod'对象没有属性'__getitem__'

来自分类Dev

Python:NoneType对象没有属性__getitem__。但是它不是nonetype

来自分类Dev

24小时自学Python的第9章中的'NoneType'对象没有属性'__getitem__'

来自分类Dev

TypeError:“ NoneType”对象在使用SQLite3的Flask中没有属性“ __getitem__”

来自分类Dev

Python TypeError:“ NoneType”对象在图像处理中没有属性“ __getitem__”

来自分类Dev

发送附件“文件”对象没有属性“ __getitem__”时,Django 1.5错误

来自分类Dev

“ MyClass”对象没有属性“ __getitem__”

来自分类Dev

int'对象没有属性'__getitem__'

来自分类Dev

“模拟”对象没有属性“ __getitem__”

来自分类Dev

Int 对象没有属性 '__getitem__'

来自分类Dev

Django'NoneType'对象没有属性'amount'

来自分类Dev

__getitem__ python中的重载

来自分类Dev

“用户”对象在创建对象上没有属性“__getitem__”

来自分类Dev

TypeError:“ _ csv.reader”对象没有属性“ __getitem__”?

来自分类Dev

TypeError:“发电机”对象没有属性“ __getitem__”

来自分类Dev

TypeError:“ datetime.date”对象没有属性“ __getitem__”

来自分类Dev

'long'对象没有属性'__getitem__'错误

来自分类Dev

Numba-TypeError:“类型”对象没有属性“ __getitem__”

来自分类Dev

“用户”对象没有属性“ __getitem__”错误

来自分类Dev

同样,“ int”对象没有属性“ __getitem__”

来自分类Dev

Python:“ TypeError:“响应”对象没有属性“ __getitem__”

来自分类Dev

ODOO“功能”对象没有属性“ __getitem__”

来自分类Dev

TypeError'int'对象没有属性'__getitem__'

来自分类Dev

'float'对象没有属性'__getitem__'Python错误

Related 相关文章

  1. 1

    Django错误:TypeError:“ NoneType”对象没有属性“ __getitem__”

  2. 2

    Kivy,TypeError:“ NoneType”对象没有属性“ __getitem__”

  3. 3

    python 2.7.8 TypeError:'NoneType'对象没有属性'__getitem__'

  4. 4

    Python,烧瓶:TypeError:“ NoneType”对象没有针对填充表单的属性“ __getitem__”

  5. 5

    Django 1.6:“ instancemethod”对象没有属性“ __getitem__”

  6. 6

    Django'instancemethod'对象没有属性'__getitem__'

  7. 7

    Python:NoneType对象没有属性__getitem__。但是它不是nonetype

  8. 8

    24小时自学Python的第9章中的'NoneType'对象没有属性'__getitem__'

  9. 9

    TypeError:“ NoneType”对象在使用SQLite3的Flask中没有属性“ __getitem__”

  10. 10

    Python TypeError:“ NoneType”对象在图像处理中没有属性“ __getitem__”

  11. 11

    发送附件“文件”对象没有属性“ __getitem__”时,Django 1.5错误

  12. 12

    “ MyClass”对象没有属性“ __getitem__”

  13. 13

    int'对象没有属性'__getitem__'

  14. 14

    “模拟”对象没有属性“ __getitem__”

  15. 15

    Int 对象没有属性 '__getitem__'

  16. 16

    Django'NoneType'对象没有属性'amount'

  17. 17

    __getitem__ python中的重载

  18. 18

    “用户”对象在创建对象上没有属性“__getitem__”

  19. 19

    TypeError:“ _ csv.reader”对象没有属性“ __getitem__”?

  20. 20

    TypeError:“发电机”对象没有属性“ __getitem__”

  21. 21

    TypeError:“ datetime.date”对象没有属性“ __getitem__”

  22. 22

    'long'对象没有属性'__getitem__'错误

  23. 23

    Numba-TypeError:“类型”对象没有属性“ __getitem__”

  24. 24

    “用户”对象没有属性“ __getitem__”错误

  25. 25

    同样,“ int”对象没有属性“ __getitem__”

  26. 26

    Python:“ TypeError:“响应”对象没有属性“ __getitem__”

  27. 27

    ODOO“功能”对象没有属性“ __getitem__”

  28. 28

    TypeError'int'对象没有属性'__getitem__'

  29. 29

    'float'对象没有属性'__getitem__'Python错误

热门标签

归档