質問

現在、Django-Tastypie Webアプリを開発しています。 2つのDjangoモデル:

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

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

そしてそれから、2つの異なるファイルに2つのThastypieリソースがあります。しかし、ここに私の問題があります。コースから学生をフィルタリングし、学生のコースをフィルタリングできるようになりたいです。

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 }

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 }

しかし、もちろん、私は循環輸入の問題を抱えています。どうすればそれを解決できますか?

ありがとう !

役に立ちましたか?

解決

各モジュールに他のリソースをインポートする必要はありません。代わりに引数として文字列を使用してみてください。

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

class CourseResource(ModelResource):
    student = fields.ForeignKey('website.api.student.StudentResource', "student")
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top