我是 django 框架的新手,正在努力比较数据库中的值。这是我在 models.py 中的表:
class Post(models.Model):
user = models.ForeignKey(User, on_delete=models.CASCADE,)
title = models.CharField(max_length=200)
content = models.TextField()
creationDate = models.DateTimeField(auto_now_add=True)
lastEditDate = models.DateTimeField(auto_now=True)
def __str__(self):
return self.title
class Votes(models.Model):
user = models.ForeignKey(User, on_delete=models.CASCADE,)
post_id = models.ForeignKey(Post, on_delete=models.CASCADE,)
up_vote = models.PositiveIntegerField(default=0, validators=[MinValueValidator(0), MaxValueValidator(1)])
down_vote = models.PositiveIntegerField(default=0, validators=[MinValueValidator(0), MaxValueValidator(1)])
class Meta:
unique_together = (("user","post_id"),)
Run Code Online (Sandbox Code Playgroud)
现在我想要的是检查上表中投票选项卡的行中是否已存在“user_id”和“post_id”,如果存在则抛出一条消息,如果不为赞成或反对投票添加值,我想每个人都明白我想要什么,如果不存在的话请告诉我。
我尝试过的是这段代码:
def chk_table():
user_id = request.user
post_id = id
votes_table = Votes.objects.filter(user_id=user_id, post_id= post_id).exists()
return votes_table
Run Code Online (Sandbox Code Playgroud)
但此功能不仅检查孔表中的一行......