Итак, у меня проблемы с моим django проектом. Я m wanting to assign Subject from droplist(that formed from database called Subject) to another database called SubjectClas but I
м продолжаю получать эту ошибку. Какие-либо предложения? Спасибо.
Невозможно назначить «Math»: «SubjectClas.subject» должен быть экземпляром «Subject».
Мой код из html
{% block add %}
<form action="{% url 'marks:addsubject' class.id%}" method="POST">
{% csrf_token %}
<select required name="sub">
{% for d in subjectslist %}
<option value='{{d.id}}'>{{d.SubjectName}}</option>
{% endfor %}
</select>
<button type="submit">готово</button>
</form>
{% endblock %}
Мои модели. py
from django.db import models
class Class(models.Model):
classtitle = models.CharField('класс', max_length = 50)
def __str__(self):
return self.classtitle
class Subject(models.Model):
SubjectName = models.CharField('Предмет', max_length =50)
def __str__(self):
return self.SubjectName
class SubjectClas(models.Model):
subject = models.ForeignKey(Subject, null=True, on_delete= models.SET_NULL)
clas = models.ForeignKey(Class, null=True, on_delete= models.SET_NULL)
My views.py
def addsubject(request, classid):
try:
a = Class.objects.get( id = classid )
except:
raise Http404("Http404")
SubjectClas.objects.create(subject = request.POST['sub'], clas = a)
Спасибо.