gpt4 book ai didi

Django 值错误 : Can't do subqueries with queries on different DBs

转载 作者:行者123 更新时间:2023-12-01 15:25:13 26 4
gpt4 key购买 nike

DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'default_db',
'USER': 'user',
'PASSWORD': '123123123',
'HOST': 'localhost',
'PORT': '',
},
'omskgkh': {
'NAME': 'general',
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'USER': 'user',
'PASSWORD': '123123123',
'HOST': '123.123.123.123',
'PORT': '',
}}

在我看来:

def districtreport(request):

info = models.InfoAddress.objects.using('general')
kao = info.filter(okrug='КАО').values('home')

kao_accounts = models.Operation.objects.using('general').filter(account_id__home_id=kao)

在具有(默认数据库是 sqlite3)的开发服务器上,该 View 工作正常,但在生产服务器上 Django raise

异常值:无法对不同数据库的查询执行子查询。

请帮忙。

添加:模型.py

class Home(models.Model):
id = models.IntegerField(primary_key=True)
...

class Meta:
db_table = "home"
managed = False


class InfoAddress(models.Model):
id = models.IntegerField(primary_key=True)
home = models.ForeignKey(Home)
okrug = models.CharField(max_length=255)
...

class Meta:
db_table = "infoaddress"
managed = False


class Account(models.Model):
id = models.IntegerField(primary_key=True)
home = models.ForeignKey(Home)
...

class Meta:
db_table = "account"
managed = False


class Operation(models.Model):
id = models.IntegerField(primary_key=True)
account = models.ForeignKey(Account)
...

class Meta:
db_table = "account_op"
managed = False

最佳答案

我找到了一种解决问题的方法:更改 QuerySet 以使用它列出和过滤。

关于Django 值错误 : Can't do subqueries with queries on different DBs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31912252/

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