My code is something like this:
JavaScript
x
6
1
class className1:
2
fieldClassName2 = className2()
3
4
class className2:
5
fieldClassName1 = className1()
6
and i have NameError: name ‘className2’ is not defined. I don’t know if there is a declaration in python like in c++, and you can call classes in any order. Please help me…
full code:
JavaScript
1
34
34
1
class Speciality(models.Model):
2
title = models.CharField(max_length=70)
3
subject1 = models.ManyToManyField(Subject, verbose_name='Перший предмет', related_name='+')
4
subject2 = models.ManyToManyField(Subject, verbose_name='Другий предмет', related_name='+')
5
subject3 = models.ManyToManyField(Subject, verbose_name='Третій предмет', related_name='+')
6
coefficient1 = models.FloatField()
7
coefficient2 = models.FloatField()
8
coefficient3 = models.FloatField()
9
coefficient4 = models.FloatField()
10
amount = models.IntegerField()
11
budget_amount = models.IntegerField()
12
department = models.ForeignKey(Department, verbose_name='Факультет', on_delete=models.CASCADE)
13
code = models.IntegerField(default=0)
14
abit = models.ManyToManyField(AdmissionList, verbose_name='Заявки', on_delete=models.CASCADE)
15
16
def __str__(self):
17
return str(self.code)
18
19
# there some another models
20
21
class AdmissionList(models.Model):
22
user = models.ForeignKey(User, verbose_name='Абітурієнт', on_delete=models.CASCADE)
23
speciality = models.ForeignKey(Speciality, verbose_name='Спеціальність', on_delete=models.CASCADE)
24
subject = models.ForeignKey(Subject, on_delete=models.CASCADE, null=True)
25
firstRate = models.IntegerField(default=0)
26
secondRate = models.IntegerField(default=0)
27
thirdRate = models.IntegerField(default=0)
28
avgRate = models.FloatField(default=0)
29
summaryRate = models.FloatField(default=0)
30
is_approved = models.BooleanField(default=False)
31
32
def __str__(self):
33
return self.user.full_name
34
field Speciality.abit is calls AdmissionList and field AdmissionList.speciality calls Speciality.
Advertisement
Answer
I think i avoid that problem by adding quotes into class call
JavaScript
1
2
1
abit = models.ManyToManyField(AdmissionList, verbose_name='Заявки', on_delete=models.CASCADE)
2
JavaScript
1
2
1
abit = models.ManyToManyField('AdmissionList', verbose_name='Заявки', on_delete=models.CASCADE)
2