【发布时间】:2021-02-24 15:41:16
【问题描述】:
我收到一条错误消息:
AttributeError at /series/
'int' 对象没有属性 'get'
我不知道为什么以及是什么导致了这个错误 我的模型.pyclass Series(models.Model):
user = models.ForeignKey(User, on_delete=models.CASCADE, default=None)
SeriesName = models.CharField(max_length=70, default="")
NoEpisodes = models.PositiveIntegerField(default=0)
EpisodesWatched = models.PositiveIntegerField(null=True, blank=True, default=0)
CoverImage = models.ImageField(null=True, blank=True)
class Meta:
verbose_name_plural = "Series"
我的意见.py:
def seriesview(request):
form = SeriesForm(request.POST or None)
if request.method == 'POST':
form = SeriesForm(request.POST)
if form.is_valid(): # error raised here
print("Form is valid")
return render(request, 'series.html', {'form': form})
我的forms.py:
class SeriesForm(forms.ModelForm):
class Meta:
model = Series
fields = ('SeriesName', 'NoEpisodes', 'EpisodesWatched', 'CoverImage')
labels = {
"SeriesName": "Series Name:",
"NoEpisodes": "Number of episodes:",
"EpisodesWatched": "Episodes watched:",
"CoverImage": "Add a cover image:",
}
def __init__(self, *args, **kwargs):
super(SeriesForm, self).__init__(*args, **kwargs)
for visible in self.visible_fields():
if visible.field.widget.input_type == 'file':
visible.field.widget.attrs['class'] = 'form-control-file'
continue
visible.field.widget.attrs['class'] = 'form-control'
def clean(self):
episodes = self.cleaned_data['NoEpisodes']
episodeswatched = self.cleaned_data['EpisodesWatched']
if episodeswatched > episodes or episodes < episodeswatched:
raise forms.ValidationError('Error creating series, Episodes watched can\'t be greater than number of episodes')
return episodeswatched
追溯:
Traceback (most recent call last):
File "C:\Users\HP\AppData\Local\Programs\Python\Python38-32\lib\site-packages\django\core\handlers\exception.py", line 47, in inner
response = get_response(request)
File "C:\Users\HP\AppData\Local\Programs\Python\Python38-32\lib\site-packages\django\core\handlers\base.py", line 179, in _get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "E:\JK\Dev\Project\AET\AnimeX\views.py", line 70, in seriesview
if form.is_valid():
File "C:\Users\HP\AppData\Local\Programs\Python\Python38-32\lib\site-packages\django\forms\forms.py", line 177, in is_valid
return self.is_bound and not self.errors
File "C:\Users\HP\AppData\Local\Programs\Python\Python38-32\lib\site-packages\django\forms\forms.py", line 172, in errors
self.full_clean()
File "C:\Users\HP\AppData\Local\Programs\Python\Python38-32\lib\site-packages\django\forms\forms.py", line 376, in full_clean
self._post_clean()
File "C:\Users\HP\AppData\Local\Programs\Python\Python38-32\lib\site-packages\django\forms\models.py", line 386, in _post_clean
exclude = self._get_validation_exclusions()
File "C:\Users\HP\AppData\Local\Programs\Python\Python38-32\lib\site-packages\django\forms\models.py", line 346, in _get_validation_exclusions
field_value = self.cleaned_data.get(field)
AttributeError: 'int' object has no attribute 'get'
当我收到错误消息时,django 会突出显示一行:
if form.is_valid(): # this line is in views.py
如果您需要任何其他信息,请在下面评论
【问题讨论】:
-
我认为如果您发布错误的回溯会很有用。此外,如果可用,请发布被调用的
get_method()的代码。 -
@fountainhead 我已经发布了回溯但我没有任何 get_method() 当我提交表单时出现此错误