我想顯示每個通知類型和最近的一個通知。 我的問題是如何獲取每種通知類型並顯示最新的通知類型。Django-Filter按類型查詢
notifications = Notification.objects.filter(**condition). \
exclude(notification_user__in=users). \
order_by('notificationType__priority','-start_date')[:1]
models.py
class Notification(models.Model):
title = models.CharField(max_length=75)
description = models.TextField()
start_date = models.DateTimeField()
end_date = models.DateTimeField()
application = models.ManyToManyField('Products.Application')
notificationType = models.ForeignKey(NotificationType)
url = models.URLField(null=True, blank=True)
region = models.ManyToManyField('Geolocations.Region', null=True, blank=True)
image = models.ImageField(null=True, blank=True)
user = models.ManyToManyField(User, through='Notification_User')
class NotificationType(models.Model):
type = models.CharField(max_length=30)
priority = models.IntegerField(max_length=3)
color = RGBColorField()
這隻能說明最近的通知獨立於通知類型的。 有什麼建議嗎?
UPDATE
現在我插入通知到列表中。 但在這種方式行不通 我的想法是,如果NOTIFICATION_TYPE的優先級值(唯一INT)不存在,要添加到列表中
notifications=[]
if n.objects.filter(notification_type__priority=notifications).exists():
notifications.append(n)
不錯,但有一個問題。通知類型是動態的,這意味着用戶可以添加他自己的通知類型,如果我有2個以上的方式不工作 –
這就是我的想法 - 任何方式你可以看看模型?這將幫助我提供一個動態的解決方案。 – Hybrid
增加了模型,要求 –