Python Can';无法使用PostgreSQL找到django auth用户
这是我的django模型,我使用这个过滤器Python Can';无法使用PostgreSQL找到django auth用户,python,django,postgresql,Python,Django,Postgresql,这是我的django模型,我使用这个过滤器 from django.contrib.auth.models import User as DjangoUser class Ward(models.Model): user = models.ForeignKey(DjangoUser, related_name='wards') group = models.ForeignKey(Group, related_name='wards') 我在sqlite3中使用了这段代码,它工作
from django.contrib.auth.models import User as DjangoUser
class Ward(models.Model):
user = models.ForeignKey(DjangoUser, related_name='wards')
group = models.ForeignKey(Group, related_name='wards')
我在sqlite3中使用了这段代码,它工作得很好
但是,它在PostgreSQL中不起作用
运算符不存在:字符变化=整数
第1行:…存档病房。“组id”),其中“存档病房”。“用户id”=1
我认为这是由archive\u ward
表中的user\u id
字段引起的。
我发现这个字段的数据类型是character.variable(20)
对此代码我能做些什么?Postgres错误表示您正在将整数与字符串进行比较:
Group.objects.filter(wards__user=_user).all()
您可以更改数据库模型,使user\u id
为整数类型。也可以在Python中将整数转换为字符串:
operator does not exist: character varying = integer
Postgres错误表示将整数与字符串进行比较:
Group.objects.filter(wards__user=_user).all()
您可以更改数据库模型,使user\u id
为整数类型。也可以在Python中将整数转换为字符串:
operator does not exist: character varying = integer
尝试删除数据库中的用户表,然后再次添加它 从头开始创建一个新数据库。再次同步数据库将起作用 或者您可以通过这种方式进行原始查询 您无法将整数与varchar进行比较。PostgreSQL是严格的,不会为您执行任何神奇的类型转换。我猜SQLServer会自动执行类型转换(这是一件坏事)
如果要比较这两个不同的Beast,必须使用强制转换语法将其中一个强制转换为另一个::尝试删除数据库中的用户表,然后再次添加它 从头开始创建一个新数据库。再次同步数据库将起作用 或者您可以通过这种方式进行原始查询 您无法将整数与varchar进行比较。PostgreSQL是严格的,不会为您执行任何神奇的类型转换。我猜SQLServer会自动执行类型转换(这是一件坏事)
如果要比较这两个不同的野兽,必须使用强制转换语法将一个野兽强制转换为另一个。不幸的是,这不起作用。因为str(\u user)返回username。所以我会
Group.objects.filter(wards\u user\u id=str(\u user.id)).all()
,但它不存在相同的运算符:character variating=integer
。不幸的是,它不起作用。因为str(\u user)返回username。所以我做Group.objects.filter(wards\u user\u id=str(\u user.id))。all()
,但它有相同的运算符,但不存在:character varing=integer
。是否需要进行迁移?是否更改了用户的字段类型?不,我没有更改django用户。但我在相同的models.py
中有另一个用户模型。因此,我使用来自django.contrib.auth.models的将用户导入为DjangoUser
@Sayse,我从其他网站(如post、group、user等)获取数据。忽略我的上一条评论,我自己感到困惑!你需要进行迁移吗?你是否更改了用户字段的类型?不,我没有更改django用户。但我在相同的models.py
中有另一个用户模型。因此,我使用了来自django.contrib.auth.models的作为DjangoUser导入用户de>@Sayse,我从其他网站(如帖子、群组、用户等)获取数据。忽略我的最后一条评论,让我自己感到困惑!