【发布时间】:2016-01-05 00:07:49
【问题描述】:
我有 2 个模型。
from django.db import models
class User(models.Model):
user_id = models.AutoField(primary_key=True)
user_name = models.CharField(max_length=30)
f_name = models.CharField(max_length=30)
l_name = models.CharField(max_length=30)
class Meta:
db_table = "users"
class Address(models.Model):
add_id = models.AutoField(primary_key=True)
user_id = models.CharField(max_length=30)
user_address = models.CharField(max_length=300)
class Meta:
db_table = "address"
我有一个 SQL 查询
select u.*,a.user_address from users u inner join address a on a.user_id = u.user_id;
我想使用 django 模型来实现这个查询。 我是 Django 框架的新手。
我正在尝试下面的查询,但它没有返回正确的输出。
user = User.objects.filter(user_id__in=Address.objects.values_list('user_id'))
【问题讨论】:
-
您是在使用旧数据库还是这是一个新项目?为什么您没有在
Address.user_id字段中使用 foreign key? -
这是旧数据库。你能告诉我如何使用现有数据库执行内部连接吗?还是我必须制作外键 Address.user_id?