我有两个表:用户和详细信息(包括书籍的详细信息)。它们通过外键相互链接,如下所示:
class Details(models.Model):
user= models.ForeignKey(settings.AUTH_USER_MODEL, null=True)
BName= models.CharField(max_length=200)
BPublisher= models.CharField(max_length=200)
BEdition= models.CharField(max_length=100)
BAuthor= models.CharField(max_length=200)
BClass= models.CharField(max_length=100)
现在我需要从表格中提取所有书籍 - 由不同用户发布的详细信息。我怎样才能做到这一点 ? Django管理员提交的内容如下:enter image description here
答案 0 :(得分:0)
你可以在你的视图功能中这样做:
def get_book_set(request):
user_instance = request.user
book_set = Details.objects.filter(user = user_instance)
context = {'user':user_instance, 'book_set':book_set}
return render(request, 'template_file.html', context)
答案 1 :(得分:0)
让
u = User.objects.get(id=your_id)
你可以通过django反向关系获得用户的书籍:
book_set = u.details_set.all()
您可以在模型中更改默认的related_name details_set(ModelName_set):
user= models.ForeignKey(settings.AUTH_USER_MODEL, null=True, related_name='book')