Ссылка на модель Django при использовании модели AbstractBaseUser

Я следую руководству по использованию модели AbstractBaseUser в проекте Django. Теперь я хочу пойти на шаг дальше и создать другие модели, например, address_book и product.

При использовании модели пользователя defaulter, мы говорим так:

class User(models.Model):
    ....
class AddressBook(models.Model):
   ....
class Product(models.Model):
   ....

Теперь, когда я использую like

class MyUser(AbstractBaseUser):

Какую ссылку следует использовать в классе AddressBook и Product? (Пользователь в адресной книге является внешним ключом из класса MyUser).

 class AddressBook(AbstractBaseUser) and class Product(AbstractBaseUser) or

 class AddressBook(models.Model) and class Product (models.model)?

Заранее спасибо за помощь!

В Python если вы определите класс таким образом

class ClassName(SuperClassName):
  ...

Вы расширяете один или несколько существующих классов. Это наследование, а не ссылка.

Если вам нужна ссылка, вы можете использовать что-то вроде этого:

class AddressBook(models.Model):
  user = models.ForeignKey('MyUser', on_delete=models.CASCADE)
  ...

Для более подробной информации я рекомендую посмотреть эту страницу в документации.

Вернуться на верх