The default django User model have been extended using OneToOne link (some extra fields added to it).
Here is my model:
class Driver(models.Model):
user = models.OneToOneField(
User,
on_delete=models.CASCADE
)
father_name = models.CharField(
max_length=20,
blank=True,
verbose_name="Father's Name"
)
national_id = models.CharField(
max_length=10,
blank=True,
verbose_name="National ID"
)
phone_no = models.CharField(
max_length=11,
blank=True,
verbose_name="Phone Number"
)
and the following is my schema (if needed):
class DriverType(DjangoObjectType):
class Meta:
model = Driver
class Query(object):
all_drivers = graphene.List(DriverType)
def resolve_all_drivers(self, info, **kwargs):
return Driver.objects.all()
Problem Definition: The default User of django (django.contrib.auth.model
) has some fields like first_name, last_name, email, etc. According to the OneToOne relationship between User and Driver models, it is expected to access that data.
sample query:
query {
allDrivers{
id
verified
user {
first_name
}
}
}
Error message:
"Cannot query field \"user\" on type \"DriverType\".",