用户注册法律时,用户ID(user_id
)和法律ID(law_id
)被保存在marked
表中。
当用户在法律中插入描述时,将使用相同的user_id
和相同的law_id
创建一个新的元组。
我仅尝试获取定律数据一次,但是我的查询返回的是marked
表中每个元组的定律。
我的模特:
class Law(models.Model):
name = models.CharField('Nome', max_length=100)
descriptionlaw = models.TextField('Descrição', blank = True, null=True)
class Marked(models.Model):
law = models.ForeignKey(Law, on_delete=models.CASCADE, verbose_name='Lei', related_name='marcacaoArtigos')
user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE, verbose_name='markedUser', related_name='markedUser')
description = models.TextField('Descrição', blank = True, null=True)
我的查询:
user1 = User.objects.get(id= request.user.id)
marked = user1.markedUser.all()
那是我的桌子:
"id" "description" "law_id" "user_id"
"1" "desc1" "1" "1"
"2" "desc2" "1" "1"
"3" "desc3" "1" "1"
"4" "desc4" "2" "1"
"5" "desc5" "2" "1"
因此,在这种情况下,我想一次收到law_id=1
,一次收到law_id=2
。但是我收到了law_id=1
三次,law_id=2
两次。
----------编辑-----------
我认为我需要显示law 1
和law 2
的值。
在我的视图中显示的值的示例:
{{law.id}} = 1,
{{law.name}} = law1,
{{law.descriptionlaw}} -> 'law1 description'
{{law.id}} = 2,
{{law.name}} = law2,
{{law.descriptionlaw}} -> 'law2 description'
答案 0 :(得分:1)
我认为我需要证明法律1和法律2的价值
您要显示法律属性,则应选择law
模型:
user1 = User.objects.get(id= request.user.id)
laws = Law.objects.filter( marcacaoArtigos__user = user1 ).distinct()
由于在related_name
到Marked
上有一个Law
,因此应该在查询时使用它来组成filter
表达式。
请记住将laws
发送到模板。