1

我有两个模型

class User(models.Model)
    id = models.IntegerField(primary_key=True)
    username = models.CharField(max_length=20, unique=True)

class Blog(models.Model)
    id = models.BigIntegerField(primary_key=True)
    user_id = models.IntegerField()
    ...

因为 db User 中的 User,db Blog_1、Blog_2...Blog8 中的 Blog,所以没有 ForeignKey

在博客列表视图中,我想显示带有用户名的博客。一个查询怎么做?还是必须有多个查询集? Blog.objects.all()获取 user_id,并通过 user_id 查询每个用户名?

博客列表视图显示来自以下用户的博客,我有一个 blogid 列表,但是来自多数据库的博客,所以:

for id in blogid_list
    Blog.objects.get(pk=id).using('Blog_%d' % (id % 8))

如何组合在一个列表中?我认为代码效率低下,有什么建议吗?

4

1 回答 1

2

您需要将 user_id 作为整数获取,然后在第二步中查询您的博客数据库。

Django 不支持跨数据库关系。在此处查看文档

于 2012-11-25T07:54:35.150 回答