我有两种模式:
class A(models.Model)
username = models.CharField(max_length=128, primary_key=True)
last_login = models.DateTimeField(db_index=True,
default=get_default_datetime)
class B(models.Model)
user = models.CharField(max_length=25)
email = models.CharField(max_length=25)
我的目标是为模型A中与模型B中的“用户”匹配的所有“用户名”创建一个包含用户名,电子邮件,last_login的列表。所以它看起来像这样:
username email last login
user1 s@abc.com 2018-01-01 00:01:01
user2 t@cde.com 2017-12-30 05:01:00
... ...... ...
等等。
我在view.py中做到了这一点:
class userListView(ListView):
template_name = 'user.html'
context_object_name = 'user_list'
def get_queryset(self):
users = A.objects.values('username')
for user in users:
qs1 = A.objects.values('username', 'last_login')
qs2 = B.objects.filter(user = user).values('user',
'email')
queryset = sorted(chain(qs1, qs2))
return queryset
然而,这不起作用。我只收到一个条目。我在这做错了什么? 我还尝试将qs2附加到qs1。这也没有用。我得到错误,qs1或qs2没有'追加'的装束。