【发布时间】:2019-04-27 11:18:58
【问题描述】:
我正在 django 中制作房地产应用程序,我遇到的问题是用户可以登录他的帐户并开始创建他的属性,然后他可以查看这些属性,但我得到的是每个用户的属性在页面上,而它应该只是特定用户创建的属性。
这里是属性的models.py,我使用的是django的用户模型
from django.core.urlresolvers import reverse
from django.contrib.auth.models import User
class Property(models.Model):
title = models.CharField(max_length = 210,default = 'None')
STATUS_CHOICES = (
('R','Rent'),
('S','Sale'),
)
status = models.CharField(max_length = 210,choices = STATUS_CHOICES,default = 'None')
price = models.IntegerField(default = 'None')
area = models.CharField(max_length = 210,default = 'None')
ROOM_CHOICES = (
('1','1'),
('2','2'),
('3','3'),
('4','4'),
('MORE','More'),
)
rooms = models.CharField(max_length = 210,choices = ROOM_CHOICES,default = 'None')
BATHROOM_CHOICES = (
('1','1'),
('2','2'),
('3','3'),
('4','4'),
)
bathroom = models.CharField(max_length = 210,choices = BATHROOM_CHOICES,default = 'None')
address = models.CharField(max_length = 210,default = 'None')
state = models.CharField(max_length = 210,default = 'None')
code = models.CharField(max_length = 210,default = 'None')
images = models.ImageField(upload_to = 'media',default = 'None')
info = models.TextField(max_length = 1000,default = 'None')
parking = models.BooleanField(default = False)
air = models.BooleanField(default = False)
swimming = models.BooleanField(default = False)
laundry = models.BooleanField(default = False)
dealer_name = models.CharField(max_length = 210,default = 'None')
dealer_email = models.EmailField(max_length = 210,default = 'None')
dealer_number = models.CharField(max_length = 210,default = 'Not mentioned')
user = models.ForeignKey(User,related_name = 'user')
def get_absolute_url(self,*args,**kwargs):
return reverse('profile_details:property', kwargs={'pk':self.pk,})
我还需要一些课程的帮助,这些课程可以帮助我完整而清晰地完成 django,以便我以后可以遇到这些问题。如果你知道,请在 cmets 中写下来。
【问题讨论】:
-
如果用户已登录,则用户对象将存储在
request.user中,因此要获取用户的property,请在request.user.property_set.all()中使用request.user.property_set.all()views -
你能做出那个观点吗?
-
查看下面@Aurélien 的答案,它提供了两种实现视图的方式
标签: django django-models django-views