Как прочитать объект словаря из формы Django?
У меня есть 2 модели в Django, одна - модель Todo, другая - модель Team, модель Todo имеет внешний ключ от Team, но команда возвращает свое значение как словарь, поэтому мой вопрос в том, как я могу получить значение из словаря в Todo.form. Словарь необходим для другого приложения, поэтому мне интересно, возможно ли вернуть словарь и self.name вместе? Сейчас я могу видеть только текст типа "team object(1)" в списке, было бы здорово, если бы кто-нибудь случайно узнал, что я могу с этим сделать, ура.
models.py
'''
class Team(models.Model):
name = models.CharField(max_length=20)
employeeID = models.CharField(max_length=20)
email = models.CharField(max_length=50)
position = models.CharField(max_length=50)
password = models.CharField(max_length=20)
projects = models.ForeignKey(Project, on_delete=models.CASCADE)
def toDict(self):
return{'id':self.id, 'employeeID':self.employeeID, 'name':self.name,
'email':self.email, 'position':self.position, 'password':self.password}
class Todo(models.Model):
status_option = (
('to_do', 'to_do'),
('in_progress', 'in_progress'),
('done', 'done'),
)
status = models.CharField(max_length=20, choices=status_option, default='to_do')
# todo_list's content
team = models.ForeignKey('Team', on_delete=models.CASCADE)
project = models.ForeignKey(Project, on_delete=models.CASCADE)
name = models.CharField(max_length=20)
create_date = models.DateTimeField(auto_now_add=True)
start_date = models.DateTimeField(default=datetime.datetime.now)
due_date = models.DateTimeField(default=datetime.datetime.now)
priority_level = models.IntegerField(default=1)
project_code = models.CharField(max_length=20)
details = models.TextField()
def __str__(self):
return self.details[:20]+"..."
# return self.team['team'].queryset
def update_status(self):
if self.status == 'to_do':
self.status = 'in_progress'
elif self.status == 'in_progress':
self.status = 'done'
self.save()
'''
forms.py
'''
class TodoForm(forms.ModelForm):
class Meta:
model = Todo
fields = ['project', 'team', 'name', 'start_date', 'due_date',
'project_code', 'details','priority_level']
# labels = {'project': '', 'create_date': ''}
widgets = {
# 'project': forms.Textarea(attrs={'col': 100}),
'start_date': forms.SelectDateWidget(),
'due_date': forms.SelectDateWidget(),
# 'resources': forms.FileInput()
# 'team': forms.CheckboxSelectMultiple(),
}
'''