我想在他们的“帐户”页面中呈现属于驱动程序的路由模型的数据,以便显示他们保存在数据库中的出发地、目的地等数据。在
在模型.py公司名称:
class Driver(models.Model):
user = models.OneToOneField(User, default=1)
first_name = models.CharField(max_length=120, blank=True, null=True)
last_name = models.CharField(max_length=120, blank=True, null=True)
tel = models.CharField(max_length=120, blank=True, null=True)
slug = models.SlugField(max_length=120, unique=True)
timestamp = models.DateTimeField(auto_now_add=True, auto_now=False)
updated = models.DateTimeField(auto_now_add=False, auto_now=True)
def __str__(self):
return self.user.username
def get_absolute_url(self):
return reverse("account", kwargs={"slug": self.slug})
def save(self, *args, **kwargs):
self.slug = slugify(self.first_name)
super(Driver, self).save(*args, **kwargs)
class Route(models.Model):
leave_from = models.CharField(max_length=120, blank=True, null=True)
destination = models.CharField(max_length=120, blank=True, null=True)
date = models.DateField(auto_now_add=False, auto_now=False)
time = models.TimeField(auto_now_add=False, auto_now=False)
driver = models.ForeignKey(Driver, on_delete=models.CASCADE)
def __str__(self):
return self.leave_from
我玩过各种各样的问题集,下面是最接近的。。。我不熟悉编码和Django)。在
在视图.py公司名称:
^{pr2}$这样,我就可以让用户为该驱动程序显示相同数量的数据实例。在
模板:
{% for route in routedetails %}
<p>{{ route.user }}</p>
{% endfor %}
我尝试了所有不同的变化,但我觉得这是我最接近的,因为它至少返回用户相同的次数,有数据在路由上为这个用户。在这种情况下,Route中保存了2条路由,因此用户名返回两次。我在其他用户上做过测试,结果总是匹配的。在
我到处都找过了,这是我所能得到的最大程度的帮助。在
要登录驾驶路线,最简单的方法是。在
在视图.py在
模板
^{pr2}$袖珍国王的解决方案很好,应该被接受。这是一个例子,如果你想显示多个司机的路线(管理页面?)为了避免N+1查询。这将预取与驱动程序相关联的所有路由,并为每个驱动程序添加一个属性routes及其特定路由,以便以后消除不需要的SQL查询。在
模板
^{pr2}$如果您想要
Route
详细信息,最好直接查询Route
模型:然后可以迭代模板中的
^{pr2}$Route
对象:相关问题 更多 >
编程相关推荐