mirror of
https://github.com/netbox-community/netbox.git
synced 2025-07-24 17:38:37 -06:00
Add test for CustomFieldManager.get_for_model()
This commit is contained in:
parent
e3be5f8468
commit
745c9a9c2b
@ -62,13 +62,8 @@ class CustomFieldManager(models.Manager):
|
|||||||
"""
|
"""
|
||||||
Return all CustomFields assigned to the given model.
|
Return all CustomFields assigned to the given model.
|
||||||
"""
|
"""
|
||||||
model = model._meta.concrete_model
|
content_type = ContentType.objects.get_for_model(model._meta.concrete_model)
|
||||||
|
return self.get_queryset().filter(obj_type=content_type)
|
||||||
# Fetch from the database if the model's CustomFields have not been cached
|
|
||||||
content_type = ContentType.objects.get_for_model(model)
|
|
||||||
customfields = CustomField.objects.filter(obj_type=content_type)
|
|
||||||
|
|
||||||
return customfields
|
|
||||||
|
|
||||||
|
|
||||||
class CustomField(models.Model):
|
class CustomField(models.Model):
|
||||||
|
@ -99,6 +99,19 @@ class CustomFieldTest(TestCase):
|
|||||||
cf.delete()
|
cf.delete()
|
||||||
|
|
||||||
|
|
||||||
|
class CustomFieldManagerTest(TestCase):
|
||||||
|
|
||||||
|
def setUp(self):
|
||||||
|
content_type = ContentType.objects.get_for_model(Site)
|
||||||
|
custom_field = CustomField(type=CustomFieldTypeChoices.TYPE_TEXT, name='text_field', default='foo')
|
||||||
|
custom_field.save()
|
||||||
|
custom_field.obj_type.set([content_type])
|
||||||
|
|
||||||
|
def test_get_for_model(self):
|
||||||
|
self.assertEqual(CustomField.objects.get_for_model(Site).count(), 1)
|
||||||
|
self.assertEqual(CustomField.objects.get_for_model(VirtualMachine).count(), 0)
|
||||||
|
|
||||||
|
|
||||||
class CustomFieldAPITest(APITestCase):
|
class CustomFieldAPITest(APITestCase):
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
|
Loading…
Reference in New Issue
Block a user