昨日から今日まで、ユーザーがお互いのプロファイルをフォローできるアプリを作成しようとしていますが、これまでのところ成功していません。
彼がフォローしている特定のユーザーからユーザーを取得できるフォロー関数の作成に問題があります。
例 。ジョンがダイアナをフォローする場合。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
これらのソリューションのほとんどは、私に質問をしませんでした
これは私が試した解決策の1つでした。
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'),)
特定のユーザーがフォローしているユーザーを取得して、それを Person などのモジュールに対して使用しようとしましたが、クエリが存在しないというエラーが発生しました。
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 などのモジュールで使用できるようにする次のクラスを作成するにはどうすればよいですか?
誰かが私を助けることができます。ありがとうコミュニティ!