【发布时间】:2015-12-13 21:37:19
【问题描述】:
所以我在一个社交媒体网站上练习 django(只是为了练习)。我正在尝试在我的视图中进行过滤,以从与我成为朋友的用户那里获取所有“节拍”。我使用中间表来表示“关系”。我目前正在使用以下方式获取我的 Beat Stream:
my_stream = Beat.objects.filter(artist=user)
但我试图在关系模型中只获取与我“相关”的人的节拍。
型号:
class Beat(models.Model):
created_at = models.DateTimeField( default=datetime.now)
title = models.CharField(max_length=255)
description = models.TextField(blank=True, null=True)
likes = models.IntegerField(default=0)
artist = models.ForeignKey(User, null=True, blank=True)
beat_cover = models.ImageField(null=True, blank=True);
admin_name = models.CharField(max_length=255, blank=True, null=True)
class Meta:
ordering = ['-created_at']
def __unicode__(self):
return unicode(self.admin_name)
class UserProfile(models.Model):
user = models.OneToOneField(User)
admin_name = models.CharField(default="beat",max_length=255,blank=True, null=True)
def __unicode__(self):
return unicode(self.admin_name)
class Relationship(models.Model):
from_user = models.ForeignKey(User, related_name="relationships")
to_user = models.ForeignKey(User, related_name="related_to")
class Meta:
index_together = ['from_user','to_user']
【问题讨论】:
标签: django django-models django-forms django-templates django-views