Django получение всех объектов из select
Мне также нужно поле (commentGroupDesc) из объектов внешних ключей.
models.py
class commentGroup (models.Model):
commentGroup = models.CharField(_("commentGroup"), primary_key=True, max_length=255)
commentGroupDesc = models.CharField(_("commentGroupDesc"),null=True, blank=True, max_length=255)
def __str__(self):
return str(self.commentGroup)
class Meta:
ordering = ['commentGroup']
class Comment (models.Model):
commentID = models.AutoField(_("commentID"),primary_key=True)
commentUser = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE)
commentGroup = models.ForeignKey(commentGroup, on_delete=models.CASCADE, null=True)
commentCI = models.ForeignKey(Servicenow, on_delete=models.CASCADE, null=True)
commentText = RichTextField(_("commentText"), null=True, blank=True)
commentTableUpdated = models.CharField(_("commentTableUpdated"), null=True, blank=True, max_length=25)
def __str__(self):
return str(self.commentGroup)
class Meta:
ordering = ['commentGroup']
views.py
comment = Comment.objects.get(pk=commentID)
Здесь я получаю commentGroup нормально, но мне также нужен commentGroupDesc, чтобы поместить его в мою форму.
Сначала не стоит называть одно и то же поле вашей модели именем модели, которое является commentGroup
Измените имя поля и выполните команды миграции.
Вы можете просто использовать цепочку, чтобы получить commentGroupDesc
, также лучше использовать get_object_or_404()
так:
comment = get_object_or_404(Comment,pk=commentID)
group_desc = comment.commentGroup.commentGroupDesc
Не забудьте сначала изменить имя поля и модели.