[python] vzájemná definice

Tomáš Drenčák tomas na drencak.com
Středa Říjen 27 01:59:27 CEST 2010


Konkretne v djangu sa to robi tak ze vramci modulu ked definujes
triedy, tak ako argument do ForeignKey nedavas triedu ale jej nazov.
Django to potom automaticky prevedia na triedu:

    class teacher(aModels.User):
        telefon = models.IntegerField()

    class Trida(models.Model):
        name = models.CharField(max_length = 15)
        classTeacher = models.OneToOneField('teacher')

        students = models.ManyToManyField('student')


    class student(aModels.User):
        Tridy  = models.ManyToManyField('Trida')


2010/10/26 Visgean Skeloru <visgean na gmail.com>:
> Dobrý den, mám tady takovýhle kód:
>
>> from django.db import models
>> from django.contrib.auth import models as aModels
>>
>> class teacher(aModels.User):
>>     telefon = models.IntegerField()
>>
>> class Trida(models.Model):
>>     name = models.CharField(max_length = 15)
>>     classTeacher = models.OneToOneField(teacher)
>>
>>     students = models.ManyToManyField(student)
>>
>>
>> class student(aModels.User):
>>     Tridy  = models.ManyToManyField(Trida)
>
>  problém je že jedno je definované druhým, nevíte co s tím?
>
> Zkoušel jsem i následovný kód:
>>
>> from django.db import models
>> from django.contrib.auth import models as aModels
>>
>> class teacher(aModels.User):
>>     telefon = models.IntegerField()
>>
>> class Trida(models.Model):
>>     name = models.CharField(max_length = 15)
>>     classTeacher = models.OneToOneField(teacher)
>>
>> class student(aModels.User):
>>     Tridy = models.ManyToManyField(Trida)
>>
>>
>> Trida.students = models.ManyToManyField(student)
>
>
> Ale django nevytvoří patřičný model, nevíte o nějaké metodě jak to řešit?
>
> _______________________________________________
> Python mailing list
> Python na py.cz
> http://www.py.cz/mailman/listinfo/python
>


Další informace o konferenci Python