Python 以10为基数的int()的错误无效文本:';a';在Django admin?
Django admin中以10为底的int()的无效文本“a”出现此错误?导致它的代码如下所示。有人知道问题出在哪里吗Python 以10为基数的int()的错误无效文本:';a';在Django admin?,python,django,django-models,django-admin,Python,Django,Django Models,Django Admin,Django admin中以10为底的int()的无效文本“a”出现此错误?导致它的代码如下所示。有人知道问题出在哪里吗 def formfield_for_manytomany(self, db_field, request, **kwargs): if db_field.name == "filenames": kwargs["queryset"] = MyFile.objects.filter(file='a') return super().formfie
def formfield_for_manytomany(self, db_field, request, **kwargs):
if db_field.name == "filenames":
kwargs["queryset"] = MyFile.objects.filter(file='a')
return super().formfield_for_manytomany(db_field, request, **kwargs)
文件字段不是文本或字符字段,因此不能像现在这样用文本查询它。您需要根据文件名进行筛选,然后您的查询筛选将起作用。当您尝试使用非整数的内容查询主键字段时,通常会出现您看到的错误。Django尝试将其转换为int,但失败并引发与通常调用
int('a')
时相同的错误
请发布您的
MyFile
模型源代码。
In [1]: int('a')
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-1-b3c3f4515dd4> in <module>()
----> 1 int('a')
ValueError: invalid literal for int() with base 10: 'a'
MyFile.objects.filter(file__name='a')