Вывод таблицы ManyToMany в Django

У меня небольшие проблемы с попыткой вернуть фактическое значение отдельной модели, я хотел бы вернуть простое "в процессе" или "открыто" или любое состояние, которое я добавляю. Вместо этого он показывает <queryset, и это можно увидеть только тогда, когда я добавляю .all в конце, иначе он показывает None (или пустой).

enter image description here

статус действительно возвращает правильные данные, однако мне просто нужно, чтобы он говорил о результате OPEN или IN progress и избавлял от набора запросов - рабочий процесс может проходить через несколько статусов в течение своего жизненного цикла

Views.py

def workflows(request):
    return render(request, 'workflows/workflows.html', {
    'workflows': Workflow.objects.all()
  })

models.py

class Workflow(models.Model):
    id = models.AutoField(primary_key=True, editable=False)
    name = models.CharField(max_length=50)
    description = models.TextField(null=True, blank=True, max_length=30)
    status = models.ManyToManyField('Status', blank=True,  related_name='workflows')
    created = models.DateTimeField(auto_now_add=True)
    # tags = models.ManyToManyField('Tag', blank=True)
    modified = models.DateTimeField(auto_now_add=True)
    # created_by = 
    # requester_id
    retired = models.BooleanField(default=False)
    
    def __str__(self):
        return self.name

    
        #foreign key 1 to many relationship
class Review(models.Model):
    #owner = 
    workflow = models.ForeignKey(Workflow, on_delete=models.CASCADE)
    body = models.TextField(null=True, blank=True)
    created = models.DateTimeField(auto_now_add=True)
    id = models.AutoField(primary_key=True, editable=False)
    
    def __str__(self):
        return f'workflow: {self.workflow} {self.created}'        
    
#many to many relationship
# Tag to be easily identifiable.
class Tag(models.Model):
    name = models.CharField(max_length=200)
    created = models.DateTimeField(auto_now_add=True)
    id = models.AutoField(primary_key=True, editable=False)
    
    def __str__(self):
        return self.name
    
   # i want the status/states to be selectable 
class Status(models.Model):
    states = models.CharField(max_length=100)
    created = models.DateTimeField(auto_now_add=True)
    id = models.AutoField(primary_key=True, editable=False)
    
    def __str__(self):
        return self.states

workflow.html

  {% for workflow in workflows %}
            <tr>
              <td>{{ workflow.id }}</td>
              <td>{{ workflow.name }}</td>
              <td>{{ workflow.description }}</td>
              <td>{{ workflow.status.all }}</td>
              <td>{{ workflow.created }}</td>
              <td>{{ workflow.modified }}</td>
              <td>{{ workflow.retired }}</td>

forms.py

class WorkflowForm(forms.ModelForm):
  class Meta:
    model = Workflow
    fields = '__all__'

Спасибо вам большое.

Вы хотите просто использовать <td>{{ workflow.status.states }}</td> вместо этого. Если возвращается None, то в базе данных нет записи для этого столбца и элемента. Иначе возвращается состояние для этого статуса

  {% for workflow in workflows %}
            <tr>
              <td>{{ workflow.status.states }}</td>
        ..
        ..
Вернуться на верх