私はDjangoを試していて、1つのエンティティをそれ自体に関連付ける多対多の関係を定義する方法を見つけようとしています. たとえば、「Myuser」というカスタム ユーザー オブジェクトがあるとします。Myuser にも Myuser 型の友達のリストを持たせたい:
class Myuser(models.Model):
user = models.OneToOneField(User)
username = models.CharField(max_length=200)
last_login = DateTimeField(blank=True)
is_active = BooleanField(default=True)
birthday = models.DateField()
name = models.CharField(max_length=200)
friends = models.ManyToManyField(Myuser)
objects = MyuserManager()
def __init__(self, *args, **kwargs):
super(Myuser, self).__init__(*args, **kwargs)
self.myuser = self
def __unicode__(self):
return self.name
def is_authenticated(self):
return self.user.is_authenticated()
Myuser が friends スコープで定義されていないため、これは機能しません。では、そのような関係をどのように定義すればよいでしょうか。