Я слежу за документами Tastypie и обнаружил, что я полностью застрял. У меня есть следующие:Невозможно получить ToMany для работы в Tastypie
API:
class ProjectResource(ModelResource):
milestones = fields.ToManyField('ProjectTrackerServer.projects.api.MilestoneResource', 'projects', related_name='project', full=True)
class Meta:
queryset = Project.objects.all()
resource_name = 'project'
class MilestoneResource(ModelResource):
project = fields.ToOneField('ProjectTrackerServer.projects.api.ProjectResource', 'project')
class Meta:
queryset = Milestone.objects.all()
resource_name = 'milestone'
[UPDATE: Выше API работал - на основе одной приведенные ниже модели]
Вот мои модели.
МОДЕЛЬ - Milestone:
from django.db import models
from ProjectTrackerServer.projects.models import Project
class Milestone(models.Model):
project = models.ForeignKey(Project, related_name='projects')
name = models.TextField()
start_date = models.DateField()
due_date = models.DateField()
completed_date = models.DateField()
description = models.TextField()
status = models.IntegerField()
def __unicode__(self):
return self.name
МОДЕЛЬ - Проект:
from django.db import models
from django.template.defaultfilters import slugify
class Project(models.Model):
name = models.CharField(max_length=200)
start_date = models.DateField()
end_date = models.DateField()
pm_id = models.IntegerField()
status = models.IntegerField()
slug = models.SlugField()
def __unicode__(self):
return self.name
def save(self, *args, **kwargs):
if not self.slug:
self.slug = slugify(self.name)[:50]
return super(Project, self).save(*args, **kwargs)
не
Я все еще получаю ту же ошибку:
{ "error_message": «объект 'Project' имеет атрибута «вехи», «трассировка»: «Traceback (последний последний вызов): \ n \ n Файл \" C: \ Python27 \ lib \ site-packages \ tastypie \ resources.py \ ", строка 192, в обертке \ n response = callback (запрос, * args, ** kwargs) \ n \ n Файл \ "C: \ Python27 \ lib \ site-packages \ tastypie \ resources.py \", строка 406, в dispatch_detail \ n возвращает self.dispatch ('detail', request, ** kwargs) \ n \ n Файл \ C: \ Python27 \ lib \ site-packages \ tastypie \ resources.py \ ", строка 427, в диспетчере \ n response = метод (запрос, ** kwargs) \ n \ n Файл \" C: \ Python27 \ lib \ site-packages \ tastypie \ resources.py \ ", строка 1058, в get_detail \ n bundle = self.full_dehydrate (bundle) \ n \ n Файл \" C: \ Python27 \ lib \ site-packages \ tastypie \ resources.py \ ", строка 654, в full_dehydrate \ n bundle.data [field_name] = field_object.dehydrate (bundle) \ n \ n Файл \" C: \ Python27 \ lib \ site-packages \ tastypie \ fields.py \ ", строка 690, в dehydrate \ n the_m2ms = getattr (bundle.obj, self.attribute) \ n \ nAttributeError: объект «Project» не имеет атрибутов «вехи» \ n "}
Можете ли вы опубликовать свою модель?Это помогло бы – Jonathan
Отсутствие связанного имени = этапы в отношении Project-Milestone. – UnLiMiTeD
Я включил свои модели в обновление. – dizzyguy