इतने सारे googling के बाद मुझे विचारों में संबंधित मॉडल डेटा प्राप्त करने के लिए कोई प्रासंगिक समाधान नहीं मिला।Django 1.6.x में दृश्यों में संबंधित मॉडल का डेटा कैसे प्राप्त करें?
चीजें मैं अजाक्स के माध्यम से सर्वर से अनुरोध कर रहा हूं और फ़ोल्डर और फ़ोल्डर निर्माता नाम (उपयोगकर्ता मॉडल से) लाने के लिए चाहता हूं। लेकिन यह मुझे निर्माता के पहले_नाम वापस नहीं किया था। यहाँ कोड
models.py
class UserFolder(models.Model):
creator = models.ForeignKey(User)
name = models.CharField(blank=False, max_length=150)
is_shared = models.BooleanField(default=False)
created_date = models.DateTimeField(auto_now_add=True)
modified_date = models.DateTimeField(auto_now=True)
def __str__(self):
return self.name
views.py
def pagination(obj, request):
max = request.GET.get('max') if 'max' in request.GET else 1
paginator = Paginator(obj, max) # Show 25 contacts per page
page = request.GET.get('page')
try:
return paginator.page(page)
except PageNotAnInteger:
# If page is not an integer, deliver first page.
return paginator.page(1)
except EmptyPage:
return ""
def folder_list(request): #called via ajax
folders = UserFolder.objects.filter(creator=request.user.id).order_by('-modified_date')
folders = pagination(folders, request) #for pagination
folders = json.dumps({}) if not folders else serializers.serialize("json", folders)
return HttpResponse(folders)
मैं .select_related ('निर्माता') की कोशिश की है है भी, लेकिन यह काम हमारा इस तरह।
js में मैं इस तरह डेटा प्राप्त करने में कर रहा हूँ:
$.each(data, function(i, v) {
var t = fldrTpl, id = v.pk;
v = v.fields
t = t.replace(/\{(ID)\}/g, id);
t = t.replace(/\{(NAME)\}/g, v.name);
t = t.replace(/\{(C_SIZE)\}/g, (v.current_size == null?0:v.current_size));
t = t.replace(/\{(C_ID)\}/g, v.creator.first_name);
t = t.replace(/\{(C_DATE)\}/g, v.created_date);
$(".my-folder-table").append(t);
});
v.creator.first_name हमेशा अपरिभाषित लौट आते हैं।
किसी भी मदद की वास्तव में सराहना की जाएगी।
धन्यवाद
यह नहीं होना चाहिए request.user.id के बजाय फ़ोल्डर = UserFolder.objects.filter (creator = request.user)। request.user उपयोगकर्ता का एक उदाहरण है जबकि .id एक पूर्णांक में परिणाम। – user2707389
आपकी टिप्पणी के लिए धन्यवाद लेकिन मैंने यह भी कोशिश की है और यह भी काम नहीं किया गया था। यह केवल उपयोगकर्ता फ़ोल्डर्स के फ़ील्ड लौटाता है। –
क्या आपने उपयोगकर्ता मॉडल पर first_name प्रविष्टि का परीक्षण किया था, और हमें उपयोगकर्ता मॉडल विवरण भी प्रदान किया था। –