我一直在試圖創建一個應用程序,允許用戶從昨天和今天開始遵循每個其他配置文件,到目前爲止我還沒有成功。Django查詢不存在
我在創建以下函數時遇到問題,該函數允許我從他關注的特定用戶檢索用戶。
例子。如果約翰跟隨黛安娜。我想能夠找回名爲Diana的用戶並將其與我的模塊一起使用。
如果這沒有意義,我真的很抱歉。我正在努力解釋我的情況。
class Person(models.Model):
user = models.ForeignKey(User)
name = models.CharField(max_length=100)
image = models.FileField(upload_to="images/",blank=True,null=True)
class Board(models.Model):
user = models.ForeignKey(User)
name = models.CharField(max_length=100)
def __unicode__(self):
return self.name
這些解決方案大多數不給我查詢
這是我試過的解決方案之一。
class UserLink(models.Model):
from_user = models.ForeignKey(User , related_name = "following_set")
to_user = models.ForeignKey(User , related_name = "follower_set")
date_added = models.DateTimeField(default = datetime.now)
def __unicode__(self):
return "%s is following %s" % (self.from_user.username,self.to_user.username)
def save(self,**kwargs):
if self.from_user == self.to_user:
raise ValueError("Cannot follow yourself ")
super(UserLink , self).save(**kwargs)
class Meta:
unique_together = (('to_user','from_user'),)
我試着檢索特定用戶跟隨用戶用它對付我的模塊,如人,但它給了我一個錯誤沒有查詢存在。
def Follow(request,username=""):
if request.method == "POST":
username = request.POST.get('follow',False)
user = User.objects.get(username=username)
UserLink.objects.create(from_user=request.user,to_user=user)
return HttpResponseRedirect(reverse('world:Profile'))
return HttpResponseRedirect(reverse('world:Profile'))
我也試過這個下面的函數,但它只是跟着自己,我改變了自己對用戶,但它並沒有讓我把人跟隨
class UserProfile(models.Model):
user = models.OneToOneField(User)
follows = models.ManyToManyField('self', related_name='followed_by', symmetrical=False)
>>>from pet.models import *
>>>from django.contrib.auth.models import User
>>>user = User.objects.get(username='Peter')
>>>user1 = User.objects.get(username='Sarah')
>>>p = UserProfile.objects.filter(user=user,follows=user1)
>>>Error no field called follows
哪有我創建了一個可以檢索他們關注的人的類,並將其與我的模塊(如Person)一起使用?
有人可以幫助我。感謝你的社區!
@catherine我不知道如何正確解釋,但我會嘗試。即時嘗試創建一個類和該類的目的是當用戶跟隨另一個用戶。我可以檢索並顯示他所關注用戶的棋盤 – donkeyboy72 2013-03-12 04:55:54