Domanda

Attualmente sto sviluppando un'app Web Django-Tastypie. Ho due modelli django:

class Student(models.Model):
  name = models.CharField()

class Course(models.Model):
  name = models.CharField()
  student = models.ForeignKey(Student)

E da ciò, ho due risorse di Tastypie in due file diversi. Ma qui arriva il mio problema. Voglio essere in grado di filtrare gli studenti dal corso e del corso di Student:

from website.api.course import CourseResource

class StudentResource(ModelResource):
  course = fields.ForeignKey(CourseResource, "course")

  class Meta:
    queryset = Student.objects.all()
    resource_name = "student"
    filtering = { "course" : ALL }

e

from website.api.student import StudentResource

class CourseResource(ModelResource):
  student = fields.ForeignKey(StudentResource, "student")

  class Meta:
    queryset = Course.objects.all()
    resource_name = "course"
    filtering = { "student" : ALL }

Ma ovviamente, ho avuto un problema di importazione circolare. Come potrei risolverlo?

Grazie !

È stato utile?

Soluzione

Non è necessario importare l'altra risorsa in ciascun modulo. Prova invece a usare una stringa come argomento.

class StudentResource(ModelResource):
    course = fields.ForeignKey('website.api.course.CourseResource', "course")

class CourseResource(ModelResource):
    student = fields.ForeignKey('website.api.student.StudentResource', "student")
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top