2012-12-25 35 views
5

nasıl takip ....Django modeli: Filtreleme kullanıcı tarafından daima

puan nesne her zaman geçerli kullanıcı tarafından filtre edilmesi gereken bir şablonda her zaman görüntülendiği elde yoktur. Yani, modelde aşağıdaki kodu denedim.

Bu mümkün mü? Yukarıdakilere nasıl ulaşabilirim?

Models.py

from django.db import models 
from django.contrib.auth.models import User 


POINTS_PENDING, POINTS_ADDED, POINTS_DEDUCTED, ORDER_PROCESSING = range(4) 
STATUS_OPTIONS = (
    (POINTS_PENDING, ('Pending')), 
    (POINTS_ADDED, ('Added')), 
    (POINTS_DEDUCTED, ('Deducted')), 
    (ORDER_PROCESSING, ('Processing')), 
    ) 


class PointsManager(models.Manager): 

    def points_list(self,User): 
     list = Points.objects.filter(points_user=User).exclude(status=ORDER_PROCESSING) 
     return list 


class Points (models.Model): 
    user = models.ForeignKey(User) 
    points = models.IntegerField(verbose_name=("Points"), default=0) 
    created = models.DateTimeField(("Created at"), auto_now_add=True) 
    updated = models.DateTimeField(verbose_name=("Updated at"), auto_now=True) 

    objects = PointsManager() 

cevap

11

Eğer kullanarak görüşlerini bir kullanıcı var olmasını sağlamak olabilir

@login_required dekoratör sonra

yapabildin senin görünümünde kullanıcı tarafından puan için sorgulamak olabilir

veya ters FK lookup

request.user.points_set.all()

kullanılarak
İlgili konular