Привет, я новичок в среде Python Django и ORM. У меня есть проблема, которую я не могу решить.
У меня есть коллекция в Монго под названием users
Выглядит примерно так:
{
_id:
username:
email:
password:
user_type:
}
Я хочу иметь 2 типапользователь (1 = клиент, 2 = поставщик), оба могут войти в приложение. После некоторых исследований я обнаружил, что все пользователи должны храниться в одной коллекции. Поэтому я решил использовать user_type и два дополнительных поля:
{
customer_data: // object that will be filled if user is customer
supplier_data: // object that will be filled if user is supplier
}
Я следовал учебному пособию по адресу: Страница документации Djongo , но все равно получаю ту же ошибку:
Don't know how to convert the Django field user.User.supplier_data (<class 'djongo.models.fields.EmbeddedModelField'>)
Модель моего пользователя:
class User(AbstractBaseUser):
_id = models.ObjectIdField()
password = models.CharField(max_length=128)
# Other fields
supplier_data = models.EmbeddedModelField(model_container=SupplierData, default={}, null=True)
Модель SupplierData: * модели 1019 *
class SupplierData(models.Model):
phone = models.CharField(max_length=100)
website = models.URLField()
description = models.TextField()
rating = models.DecimalField(default=0.0, decimal_places=1, max_digits=5)
class Meta:
abstract = True
из библиотеки djongo (из моделей импорта djongo)
Я мог бы использовать другие коллекции с заказчикоми данные о поставщике относительно сбора пользователей, но у поставщика будет больше вложенных объектов (обзоры, носители, местоположение), и у меня снова будет та же проблема в будущем.