Pergunta

No momento, estou desenvolvendo um aplicativo da web do Django-Tastypie. Eu tenho dois modelos Django:

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

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

E a partir disso, eu tenho dois recursos de tastypie em dois arquivos diferentes. Mas aqui vem meu problema. Quero poder filtrar o aluno do curso e do curso do aluno:

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 }

Mas é claro que eu tenho uma questão circular de importação. Como eu poderia resolver isso?

Obrigado !

Foi útil?

Solução

Você não precisa importar o outro recurso em cada módulo. Tente usar uma string como argumento.

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

class CourseResource(ModelResource):
    student = fields.ForeignKey('website.api.student.StudentResource', "student")
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top