2012-12-25 18 views
5

कैसे मैं निम्नलिखित ....Django मॉडल: छनन उपयोगकर्ता द्वारा, हमेशा

हर बार अंक वस्तु एक टेम्पलेट यह हमेशा वर्तमान उपयोगकर्ता द्वारा फ़िल्टर किया जाना चाहिए में प्रदर्शित किया जाता प्राप्त करते हैं। तो, मॉडल के भीतर मैंने नीचे दिए गए कोड को आजमाया।

क्या यह संभव है? मैं उपर्युक्त कैसे प्राप्त कर सकता हूं?

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() 

उत्तर

11

आप यह सुनिश्चित कर सकता है कि आपके विचार एक उपयोगकर्ता है का उपयोग करके

@login_required डेकोरेटर

तो

आप कर सकते थे अपने दृश्य में उपयोगकर्ता द्वारा अंक के लिए क्वेरी सकता

user_points = Points.objects.filter(user=request.user)

या रिवर्स FK lookup

request.user.points_set.all()