Django получить связанные имена для объекта
мы можем получить доступ к полю all объекта с помощью __dict__
class Profile(models.Model):
chips = models.PositiveIntegerField(default=0)
user = models.OneToOneField(User, on_delete=models.CASCADE)
desc = models.CharField(max_length=255, default='', blank=True, null=True)
image = models.ImageField(default='profile/default.jpg', upload_to='profile')
active = models.BooleanField(default=False)
points = models.PositiveIntegerField(default=0)
createTime = models.DateTimeField(default=now, editable=False)
email = models.EmailField(blank=True, null=True)
Profile.objects.all()[0].__dict__
"""
{
'_state': <django.db.models.base.ModelState object at 0x7fe6d9632390>,
'id': 1,
'chips': 100000,
'user_id': 1,
'desc': None,
'image': 'profile/default.jpg',
'active': False,
'points': 100010,
'createTime': datetime.datetime(2022, 3, 13, 13, 45, 57, 513699, tzinfo=<UTC>),
'email': None
}
"""
Но не включает ссылки из ForeignKey, OneToOneField и ManyToManyField, которые были определены в других моделях, имеющих связанное имя. например
class Article(models.Model):
author = models.ForeignKey(User, on_delete=models.CASCADE, related_name="articles")
# __dict__ of Profile object does not include articles
Есть ли способ получить все вызываемые атрибуты базы данных из модели. большое спасибо.