Django Many-to-Many (m2m) Relation to same model

后端 未结 5 804
别跟我提以往
别跟我提以往 2020-12-05 04:17

I\'d like to create a many-to-many relationship from and to a user class object.

I have something like this:

class MyUser(models.Model):
    ...
             


        
5条回答
  •  [愿得一人]
    2020-12-05 04:46

    Technically, I'm pretty sure "MyUser" or "self" will work, as long as it's a string in either case. You just can't pass MyUser, the actual class.

    However, the docs always use "self". Using "self" is not only more explicit about what's actually happening, but it's impervious to class name changes. For example, if you later changed MyUser to SomethingElse, you would then need to update any reference to "MyUser" as well. The problem is that since it's a string, your IDE will not alert you to the error, so there's a greater chance of your missing it. Using "self" will work no matter what the class' name is now or in the future.

提交回复
热议问题