2016-11-23 44 views
0

我做了Django的用戶模型中的外鍵關係,正向查找工作正常,但是當我嘗試向後拋出這個錯誤:Django的用戶模型,向後查找不工作

'QuerySet' object has no attribute 'urlpost_set'

我也試過相關的名字!另外請注意,PostUrl的Catagory和PostUrl的Catagory工作正常!

我的models.py:

from django.db import models 

from django.contrib.auth.models import User 


# Create your models here. 
class Catagory(models.Model): 
    title = models.CharField(max_length=15, unique=True) 
    created = models.DateField(auto_now_add=True) 
    updated = models.DateField(auto_now=True) 

    def __str__(self): 
     return self.title 

    class Meta: 
     verbose_name_plural = 'catagory' 


class UrlPost(models.Model): 
    STATUS_CHOICES = (
     ('public', 'Public'), 
     ('private', 'Private'), 
    ) 
    profile = models.ForeignKey(User, related_name='user_post', on_delete=models.CASCADE) 
    catagory = models.ForeignKey(Catagory, on_delete=models.CASCADE) 
    title = models.CharField(max_length=200) 
    slug = models.SlugField(unique=True) 
    url = models.URLField() 
    status = models.CharField(max_length=10, choices=STATUS_CHOICES, default='public') 
    note = models.TextField(blank=True) 
    created = models.DateField(auto_now_add=True) 
    updated = models.DateField(auto_now=True) 

    class Meta: 
     ordering = ['-created'] 
     verbose_name_plural = 'url Post' 

    def __str__(self): 
     return self.title 

回答

2

而定義你User模型和UrlPost之間ForeignKey關係已設置related_name='user_post'

您必須在您的查詢集中使用.user_post.all()而不是.urlpost_set.all()