Python Django:没有与给定名称和参数类型匹配的运算符。您可能需要添加显式类型转换
在我的postgresql上筛选数据时,我在获取此错误时遇到问题,它说错误来自这一行。filterbene_id='31452'。我在Django用了两张桌子。我认为问题出在我的操作符上,因为id是整数,但问题是如何替换该操作符,以及应该替换什么 我试着放置双qoute、单qoute,甚至没有这样的元素。filterbene_id=31452、.filterbene_id=31452、.filterbene_id='31452'。但这个错误似乎还没有解决。如果有人能找出我哪里做错了,那就太好了。事先非常感谢 错误 views.py Models.py 设置.pyPython Django:没有与给定名称和参数类型匹配的运算符。您可能需要添加显式类型转换,python,django,Python,Django,在我的postgresql上筛选数据时,我在获取此错误时遇到问题,它说错误来自这一行。filterbene_id='31452'。我在Django用了两张桌子。我认为问题出在我的操作符上,因为id是整数,但问题是如何替换该操作符,以及应该替换什么 我试着放置双qoute、单qoute,甚至没有这样的元素。filterbene_id=31452、.filterbene_id=31452、.filterbene_id='31452'。但这个错误似乎还没有解决。如果有人能找出我哪里做错了,那就太好了。
Testing=B2BenesStatus.objects.using'matchy_data'。filterbene_id=int'31452' 否则
Testing=B2BenesStatus.objects.filterbene_id=int'31452' 尝试此方法并检查其是否有效:假设bene_id确实作为整数存储在现有SQL数据库中,请仔细检查: 由于bene_id是一个整数字段,.filterbene_id='31452'将失败,因为'31452'是字符串类型。另外,请注意,Python中的和之间没有根本区别 您需要将int类型传递给bene_id参数,类似于.filterbene_id=31452
您说您尝试不使用字符串分隔符但没有成功,但我怀疑这背后还有另一个问题。将查找中的id更改为整数@PacketLoss但是在我的模型中它已经被设置为integerFiled bene_id=models。IntegerFieldblank=True,null=True,你的意思是应该把它改成TextField吗?我想问题出在我的操作符上,因为id是整数,但问题是我应该如何以及应该在该操作符中替换什么?ORM查询是正确的。不要使用qoutes,因为它是整数字段。我建议在没有qoutes的代码中再试一次。我没有使用second second database和postgresql,所以如果没有任何效果,并且您有时间,您可以使用相同字段在默认数据库中尝试一个测试模型,然后尝试此测试=B2BenesStatus.objects.filterbene_id=31452我刚刚发现错误是在我想要打印该查询测试时出现的。但它应该是印刷品吗?我应该如何显示测试值?因为QuerySet是惰性的,所以不会立即计算它们,而是在以下代码实际使用它们时进行计算。printTesting应该返回B2BenesStatus对象的_str__表示。
LINE 1: ...2_benes_status" WHERE "b2_benes_status"."bene_id" = 31452 L...
^
HINT: No operator matches the given name and argument types. You might need
to add explicit type casts.
Testing = B2BenesStatus.objects.using('matchy_data').filter(bene_id='31452')
class B2BenesStatus(models.Model):
datetime = models.DateTimeField(blank=True, null=True)
value = models.BooleanField(blank=True, null=True)
remarks = models.TextField(blank=True, null=True)
bene_id = models.IntegerField(blank=True, null=True)
stat_cat_id = models.IntegerField(blank=True, null=True)
updated_by_id = models.IntegerField(blank=True, null=True)
class Meta:
managed = False
db_table = 'b2_benes_status'
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'payroll',
'USER':'root',
'PASSWORD':'',
'HOST':'localhost',
'PORT':'3306',
},
'matchy_data': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'matchy_data',
'USER':'postgres',
'PASSWORD':'samplee',
'HOST':'localhost',
'PORT':'5432',
},}