[python] vzájemná definice

Jirka Vejrazka jirka.vejrazka na gmail.com
Středa Říjen 27 00:28:11 CEST 2010


> Ale django nevytvoří patřičný model, nevíte o nějaké metodě jak to řešit?

To je celkem jednoduche, nevytvaret takoveto zpetne odkazy :)

Ale abych byl konkretnejsi - Django "zna" zpetne odkazy automaticky,
takze jeden z tech ManyToMany modelu je zbytecny. Viz
http://docs.djangoproject.com/en/dev/ref/models/relations/

V praxi pak vystacis s timhle:

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):
        pass # tady asi bude jmeno a tak podobne.

Seznam studentu ve tride:
>>> Trida.students.all()

Seznam trid, do kterych student patri:
>>> Student.trida_set.all()

Nemusi to byt zrovna "trida_set", da se to prejmenovat pomoci
related_name (viz dokumentace).

Mimochodem, neni mi uplne jasne jak muze student patrit do vice trid
zaroven, ale to je tvuj problem :)

  Jirka


Další informace o konferenci Python