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

Есть ли способ получить все вызываемые атрибуты базы данных из модели. большое спасибо.

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