'계정'페이지에서 드라이버에 속한 Route 모델의 데이터를 렌더링하여 지금까지 데이터베이스에 저장 한 leave_from, destination 등의 데이터를 표시하려고합니다.Django - 사용자 필터링
Models.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
나는 다양한 검색어 세트와 함께 연주 한 아래가 점점에 가장 가까운 (내 생각 ... 나는 코딩과 장고에 새로운 해요).
Views.py : 그와
def route(request, slug):
routedetails = Driver.objects.filter(route=request.user.driver.route_set.all())
context = {
"routedetails": routedetails,
}
return render(request, "route.html", context)
는 그 드라이버에 대한 경로에서 데이터의 인스턴스의 동일한 수를 표시하는 사용자를 얻을 수 있어요.
템플릿 :
{% for route in routedetails %}
<p>{{ route.user }}</p>
{% endfor %}
나는 모든 다른 변화를 시도했습니다하지만이 느낌은 나에게 가장 가까운 가지고 적어도 사용자에게 경로에서 데이터가이 사용자가 동일한 횟수를 반환으로 . 이 경우 경로에 저장된 2 개의 경로가 있으므로 사용자 이름이 두 번 반환됩니다. 필자는 다른 사용자를 대상으로 테스트를했으며 항상 일치합니다.
나는 도처에서 보았습니다. 그리고 지금까지 어떤 도움을 주셔서 감사합니다.
정말 고마워요! 이 작품 - 도움을 주셔서 감사합니다 –