I need to list the working hours of each employee, but i'm getting:
The model '' has an empty attribute 'work_journey' and doesn't allow a null value.
on:
/rest/tastypie/employee/?format=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()
1/ You need a WorkJourneyResource
rather than WorkJourney
when you define your relation in ressoure.py
2/ To allow a null value, just add null=True, blank=True
Here is the code fixed:
class EmployeeResource(ModelResource):
journey = fields.ForeignKey(WorkJourneyResource, 'work_journey', null=True, blank=True)
....
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With