2016-03-02 2 views
1

я искал, но не нашел ответа, может быть, я не могу сформулировать вопрос правильной в любом случае, пожалуйста, помогите мне с этимДжанго фильтр поле

я хочу фильтровать не трудно закодированных значений, но объединенных полей каждой строки

Пример:

class Conversation(models.Model): 
    user1 = models.ForeignKey(User, related_name="user1_id") 
    user2 = models.ForeignKey(User, related_name="user2_id") 
    blocked = models.BooleanField(default=False) 
    blocked_user = models.ForeignKey(User, blank=True, null=True) 
    us1_del = models.DateTimeField(default=datetime.datetime.now()) 
    us2_del = models.DateTimeField(default=datetime.datetime.now()) 


class ConversationReply(models.Model): 
    conversation = models.ForeignKey(Conversation) 
    user = models.ForeignKey(User) 
    message = models.TextField() 
    datetime = models.DateTimeField(default=datetime.datetime.now()) 
    seen = models.BooleanField(default=False) 

Я хочу, чтобы фильтровать, где каждая дата ответа GT чем разговор удалить time.How сделать это?

ConversationReply.objects.filter(datetime__gt= conversation__us1_del) 

ответ

0

Я думаю, что вы можете использовать annotate() для этого:

from django.db.models import F 
ConversationReply.objects.annotate(conv=F(conversation__us1_del)).filter(datetime__gt=conv)