2013-10-27 37 views
0

模型的Django增加新的項目,列出

class post(models.Model): 
    post_content = models.CharField(u'Treść:', max_length=65000) 
    post_thread = models.ForeignKey(thread) 
    post_user = models.ForeignKey(user) 
    post_date = models.DateTimeField() 
    objects = post_manager() 

class thread(models.Model): 
    thread_title = models.CharField(u'Nazwa tematu:', max_length=100) 
    thread_content = models.CharField(u'Treść:', max_length=65000) 
    thread_forum = models.ForeignKey(forum, null=True) 
    thread_subforum = models.ForeignKey(subforum, null=True) 
    thread_tag = models.CharField(u'Tagi', null=True, max_length=100) 
    thread_user = models.ForeignKey(user) 
    thread_date = models.DateTimeField() 
    thread_write = models.BooleanField() 
    thread_sticky = models.BooleanField() 
    objects = thread_manager() 

意見

thread_list = thread.objects.select_related().filter(thread_forum_id = current_obj.id).order_by('-thread_date') 
      for thread in thread_list: 
       count = post.objects.select_related().filter(post_thread_id = thread.id).count() 
       thread.post = count 

thread_list沒有交數 後已ForeignKey的線程

我能做些什麼來得到這樣的效果? 我想添加號碼發佈到thread_list

+2

對不起,我知道英語不是你的第一語言 - 你會介意改寫你的問題,讓我們更容易幫助你嗎?我最瞭解你想要什麼...... :) –

回答

0

你的方式是好的。 但有衝突:

thread_list = thread.objects.select_related().filter(thread_forum_id = current_obj.id).order_by('-thread_date') 
      for thread in thread_list: 
       count = post.objects.select_related().filter(post_thread_id = thread.id).count() 
       thread.post = count 

你的類有名字線程和你的循環有這樣的類名。 爲線程在thread_list:

只是做到這一點:

for threads in thread_list: 
        count = post.objects.select_related().filter(post_thread_id = threads.id).count() 
        threads.post = count 

或類似這樣的東西。只是改變循環 - 我添加'S'在一個字的末尾