首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >覆盖Django配置文件的profile_detail视图

覆盖Django配置文件的profile_detail视图
EN

Stack Overflow用户
提问于 2012-10-10 11:57:19
回答 1查看 136关注 0票数 0

我安装了django配置文件/注册,一切似乎都很好。当用户注册时,他们的配置文件也会被创建。现在我想要做的是根据User的用户id查询另一个模型,这个模型是Company。我不想改变django-profiles视图,但在urls上添加额外的字段来匹配和查询公司模型。当我硬编码url时(例如:像这样将用户配置文件的id号放在userprofile=1中,它就可以工作了)。因此,当用户登录并转到配置文件详细信息页面时,将根据他们的user.id查询分配给他们的公司。

代码语言:javascript
复制
class UserProfile(models.Model):
    user = models.OneToOneField(User)
    #email = models.CharField(max_length=200, blank=True, null=True)
    # Other fields here
    #company = models.ForeignKey(Company,blank=True,null=True)    
    #office = models.CharField(max_length=200, blank=True, null=True)    
    def __unicode__(self):
        return self.user.username




class Company(models.Model):
    userprofile = models.ForeignKey(UserProfile, null=True, blank=True)
    comp_name = models.CharField(max_length=200,blank=True,null=True)
    comp_address = models.CharField(max_length=200,blank=True, null=True)
    comp_email = models.CharField(max_length=200,blank=True, null=True)
    comp_zip = models.IntegerField(blank=True, null=True)
    comp_phone = models.IntegerField(blank=True, null=True)
    comp_city = models.CharField(max_length=200,blank=True, null=True)
    #comp_state = models.USStateField(blank=True, null=True
    comp_state = models.CharField(blank=True, max_length=2)
    compwebsite = models.URLField(max_length=200, blank=True, null=True)
    twitterurl = models.URLField(max_length=200, blank=True, null=True)
    facebookurl = models.URLField(max_length=200, blank=True, null=True)
    def __unicode__(self):
        return self.comp_name



url(r'^profiles/(?P<username>\w+)/$', 'profiles.views.profile_detail', {'extra_context':{'queryset':Company.objects.filter(userprofile=request.user.id)}},),
EN

回答 1

Stack Overflow用户

发布于 2012-10-10 13:51:23

您可能希望从视图内部调用它

代码语言:javascript
复制
from *** import profile_detail

def my_view(request, username):
    extra_context = {}
    return profile_detail(request, queryset=Company.objects.filter(userprofile=request.user.id),
                       template_name="my_template.html",
                       paginate_by=20,
                       extra_context=extra_context)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12811726

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档