gpt4 book ai didi

python - 无法使用 PostgreSQL 找到 Django 身份验证用户

转载 作者:行者123 更新时间:2023-11-29 14:10:45 24 4
gpt4 key购买 nike

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')

这是我的 django 模型,我使用了这个过滤器。

Group.objects.filter(wards__user=_user).all()

我在 sqlite3 中使用了这段代码,效果很好。

但是,它在 PostgreSQL 中不起作用。

operator does not exist: character varying = integer LINE 1: ...rchive_ward"."group_id" ) WHERE "archive_ward"."user_id" = 1

我认为这是由 archive_ward 表中的 user_id 字段引起的。我发现这个字段的数据类型是character.varying(20)。

我能用这段代码做什么?

最佳答案

尝试删除数据库中的用户表并重新添加。

从头开始创建一个新的。再次同步数据库将起作用..

否则你可以这样 raw_query

您不能将整数与 varchar 进行比较。 PostgreSQL 是严格的,不会为你做任何神奇的类型转换。我猜 SQLServer 会自动进行类型转换(这是一件坏事)。

如果你想比较这两种不同的野兽,你必须使用转换语法 ::

关于python - 无法使用 PostgreSQL 找到 Django 身份验证用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34083023/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com