myapp/models.py
は、このサンプルコードを持っている
ファイル..Djangoで2つのデータベース(外部キーを持たない)でクエリを適用するには?
from django.db import models
# model for 'user' table in database oracle_dbuser1:user
class User(models.Model):
. . .
customerid = models.BigIntegerField()
# model for 'customer' table in database oracle_dbuser2:customer
# Note that there is no Foreign key integrity among these legacy tables.
class Customer(models.Model):
. . .
customerid = models.BigIntegerField()
とファイルmyapp/admin.py
は、次のコードを持っています
from maasusers.models import User, Customer
from django.contrib import admin
class UserAdmin(admin.ModelAdmin):
# A handy constant for the name of the alternate database.
db_one = 'dbuser1'
db_two = 'dbuser2'
# display in a list
list_display = (. . .) # question 1
def queryset(self, request):
result = super(UserAdmin, self).queryset(request).using(self.db_one) # question 2
return result
# Register the Poll class
admin.site.register(User, UserAdmin)
admin.site.register(Customer, UserAdmin)
質問1:上記参照してください:私は両方のテーブルの列を表示したいです。どうすればこれを達成できますか?例えば。 Select usr.col1, usr.col2, cust.col1, cust.col10 from user usr, customer cust where usr.col2 = cust.col3;
質問2:対応するqueryset()
関数を書き込むには、using
関数を使用しますか?
情報と説明をくれてありがとうJosh!うーん..興味深い問題だが.. :( – Aditya369
@ Aditya369おそらく、あなたは正しい答えとしてこの答えをマークしてはいけないかもしれない。あなたが問題を解決する可能性があるそれがうまくいかない理由を教えてくれました。 –