Support OneToOneFields

This commit is contained in:
Peter Law
2020-05-18 22:19:20 +01:00
parent df66b35444
commit b7cdec427e
2 changed files with 16 additions and 1 deletions

View File

@@ -74,7 +74,7 @@ def _infer_field(cls, field_name):
name = field_tree_instance.py__name__()
is_many_to_many = name == 'ManyToManyField'
if name == 'ForeignKey' or is_many_to_many:
if name in ('ForeignKey', 'OneToOneField') or is_many_to_many:
values = _get_foreign_key_values(cls, field_tree_instance)
if is_many_to_many:
return ValueSet(filter(None, [

View File

@@ -14,7 +14,13 @@ class Category(models.Model):
category_name = models.CharField()
class AttachedData(models.Model):
extra_data = models.TextField()
class BusinessModel(models.Model):
attached_o2o = models.OneToOneField(AttachedData)
category_fk = models.ForeignKey(Category)
category_fk2 = models.ForeignKey('Category')
category_fk3 = models.ForeignKey(1)
@@ -86,6 +92,15 @@ model_instance.date_time_field
#? uuid.UUID()
model_instance.uuid_field
#! ['attached_o2o = models.OneToOneField(AttachedData)']
model_instance.attached_o2o
#! ['extra_data = models.TextField()']
model_instance.attached_o2o.extra_data
#? AttachedData()
model_instance.attached_o2o
#? str()
model_instance.attached_o2o.extra_data
#! ['category_fk = models.ForeignKey(Category)']
model_instance.category_fk
#! ['category_name = models.CharField()']