私は怒鳴るようなモデルを持っています。
class User(BaseModel,DjangoUser):
uuid = models.CharField(max_length=100, blank=True)
realname = models.CharField(max_length=100, blank=True)
followers = models.ManyToManyField('self', through='FollowRelationship', symmetrical=False, related_name='followed_by')
def follow(self, person):
relationship, created = FollowRelationship.objects.get_or_create(from_person=self,to_person=person)
return created
def unfollow(self, person):
fs = FollowRelationship.objects.filter(from_person=self,to_person=person)
if fs is not None:
fs.delete()
return True
return False
class FollowRelationship(models.Model):
from_person = models.ForeignKey(User, related_name='from_user')
to_person = models.ForeignKey(User, related_name='to_user')
follow_time = models.DateTimeField(default=datetime.datetime.now)
A と B の 2 つの用途があるA in B.followers.all()
場合、A が B に従っているかどうかを確認するために使用します。B.followers が 10000000 個のオブジェクトを持っている場合、これは良い方法ですか?
もう1つの質問は、(Android)アプリケーションでユーザーをフォローすると、しばらくのA in B.followers.all()
間 false を返し、 true を返すということです。django サーバーを再起動すると、すぐに true になります。何が問題なのですか?