ForeignKey on Tastypie REST - Модель имеет пустой атрибут

Мне нужно указать рабочее время каждого сотрудника, но я получаю:

Модель '' имеет пустой атрибут 'work_journey' и не допускает нулевого значения.

на:

<Сильный>/отдых/tastypie/сотрудник /? = Формат JSON

models.py

class Employee():
    registration = models.CharField(u'Registration', max_length=20, unique=True)
    work_journey = models.ForeignKey(WorkJourney, null=True, blank=True)

hr.models.py

class WorkJourney(ModelPlus):
    code = models.CharField(max_length=10, null=True, unique=True)
    workinghours = models.CharField(max_length=40)
    excluded = models.BooleanField()

    class Meta:
        db_table='work_journey'
        verbose_name = u'Work Journey'

    def __unicode__(self):
        return self.workinghours

resources.py

from suap.models import Employee
from hr.models import WorkJourney


class WorkJourneyResource(ModelResource):
    class Meta:
        queryset = WorkJourney.objects.all()
        resource_name = 'work_journey'
        authentication = BasicAuthentication()

class EmployeeResource(ModelResource):
    journey = fields.ForeignKey(WorkJourney, 'work_journey')
    class Meta:
        queryset = Employee.objects.all()
        resource_name = 'employee'
        authentication = BasicAuthentication()
4

1 ответы

1/Когда вы определяете свое отношение в ressoure.py, вам нужен WorkJourneyResource , а не WorkJourney

2/Чтобы разрешить нулевое значение, просто добавьте null = True, blank = True

Вот исправленный код:

class EmployeeResource(ModelResource):
    journey = fields.ForeignKey(WorkJourneyResource, 'work_journey', null=True, blank=True)
    ....
14
добавлено
Это нормальное поведение. добавьте full = True в свои поля. ForeignKey (..) принимает мой ответ, если он работает ;-)
добавлено автор ablm, источник
Мой плохой на WorkJourneyResource, это было нормально в моем коде. Он работает с добавлением null = True, blank = True. Но он просто возвращает resource_uri из work_journey ..
добавлено автор Oswaldo Ferreira, источник
Получил это на tastypie-клиенте, спасибо ablm!
добавлено автор Oswaldo Ferreira, источник
Django
Django
1 931 участник(ов)

Полезная информация и правила: https://github.com/django-ru/faq Вакансии и резюме: @django_jobs Пофлудить идём сюда: @django_flood Статистика чата: combot.org/chat/-1001063854692

django_jobs
django_jobs
916 участник(ов)

Поиск и предложения работы (Django) Правила: https://t.me/django_jobs/4 Вакансии с тегом #job улетают в канал @django_jobs_board Вопросы к @amureki Основной чат @pydjango

Django
Django
733 участник(ов)

Веб-фреймворк для перфекционистов с дедлайнами. Наша группа на vk: https://vk.com/django_framework В Discord: https://discord.me/django_framework по всем вопросам @MechanisM

django flood
django flood
71 участник(ов)

Флудилка джангистов Пока без правил