2013-02-12 3 views
0

Я настраиваю связанные поля в моем tashypie api.tastypie путь к ресурсам

У меня есть это в моем файле api.py:

class PeopleResource(ModelResource): 
event_id = fields.ForeignKey(EventResource,'event', full=True) 
answer_link = fields.ForeignKey(DatePeopleResource,'datepeople', full=True, related_name='datepeople') 
class Meta: 
    queryset = EventPeople.objects.all() 
    resource_name = 'people' 
    filtering = { 
     'event_id' : ALL, 
     'phone_number' : ALL, 
     'name' : ALL, 
     'answer' : ALL, 
    } 
    authorization = Authorization() 



class DatePeopleResource(ModelResource): 
event = fields.ForeignKey(EventResource,'event') 
event_date = fields.ForeignKey(DateResource,'event_date') 
event_person = fields.ForeignKey(PeopleResource,'event_person', related_name='people') 
class Meta: 
    queryset = DatePeople.objects.all() 
    resource_name = 'datepeople' 
    filtering = { 
     'event' : ALL, 
     'event_person' : ALL, 
     'event_date' : ALL, 
    } 
    authorization = Authorization() 

Моя проблема заключается в том, что поле DatePeopleResource связано с PeopleResource работает, но первый не работает. (связанный с DatePeopleResource от PeopleResource)

Я думаю, это потому, что DatePeopleResource еще не определен. В tastypie документ, похоже, я должен добавить path.to.api.resource перед вызовом DatePeopleResource, как это:

answer_link = fields.ForeignKey(path.to.resource.DatePeopleResource,'datepeople', full=True, related_name='datepeople') 

Но я понятия не имею, что путь! Я попробовал «ресурсы», «api» ... Я действительно не понимаю, что это за путь.

Благодарим за помощь, я застрял!

ответ

2

Путь к ресурсу нечто вроде

"appname.api.classname" 

и не забудьте поместить его в кавычки, потому что да, он еще не определен, когда вы хотите использовать его.

+0

Да! Большое спасибо ! –

+0

Цитаты! Большое спасибо. – Joshua

0

Вы также можете импортировать DatePeopleResource, а затем использовать его для определения отношения с ним. напр:

from ..api import DatePeopleResource 

class EventResource(ModelResource): 
    event = fields.ForeignKey(DatePeopleResource, 'event') 

На этом пути код чище.

+0

А, спасибо. Я не знал, что могу импортировать класс из собственного файла. –

+0

Если у вас есть собственный файл, его не нужно импортировать. – UnLiMiTeD

Смежные вопросы