-
Notifications
You must be signed in to change notification settings - Fork 766
Closed
Labels
Description
class Country(models.Model):
oid = models.AutoField(primary_key=True)
code = models.CharField(max_length=5, null=True)
name = models.CharField(max_length=100, null=True)
class Meta:
db_table = ('countries')
def __str__(self):
return self.name
class City(models.Model):
oid = models.AutoField(primary_key=True)
code = models.CharField(max_length=5, null=True)
name = models.CharField(max_length=100, null=True)
country = models.ForeignKey(
Country, db_column='countries_oid', blank=False, null=False, on_delete=models.CASCADE, related_name='cities')
class Meta:
db_table = ('cities')
def __str__(self):
return self.name
My schema
class CountryNode(DjangoObjectType):
class Meta:
model = Country
filter_fields = {
'code': ['icontains'],
'name': ['iexact'],
}
interfaces = (relay.Node, )
def resolve_cities(self, info):
return None
class CityNode(DjangoObjectType):
class Meta:
model = City
filter_fields = {
'code': ['icontains'],
'name': ['icontains'],
}
interfaces = (relay.Node, )
My question is how to personalize resolve_cities in CountryNode class.
Something like this
class CountryNode(DjangoObjectType):
class Meta:
model = Country
filter_fields = {
'code': ['icontains'],
'name': ['iexact'],
}
interfaces = (relay.Node, )
def resolve_cities(self, info):
if not info.context.user.is_authenticated():
return City.objects.none()
else:
return City.objects.all()