Как тестировать метки моделей в Django?

У меня есть следующий model.py

from django.db import models

class Url(models.Model):
    short_url = models.CharField(max_length=255)
    original_url = models.CharField(max_length=255)
    clicks = models.IntegerField(default=0)
    created_at = models.DateTimeField('date created', auto_now_add=True)
    updated_at = models.DateTimeField('date updated', auto_now=True)

class Click(models.Model):
    url = models.ForeignKey(Url, on_delete=models.CASCADE, related_name='related_clicks')
    browser = models.CharField(max_length=255)
    platform = models.CharField(max_length=255)
    created_at = models.DateTimeField('date created', auto_now_add=True)
    updated_at = models.DateTimeField('date updated', auto_now=True)

и в tests/test_models.py

from django.test import TestCase
from heyurl.models import Url, Click
from heyurl.views import short_url


class TestModels(TestCase):
    @classmethod
    def setupTestdata(cls):
        Url.objects.create(short_url='eOlKf', original_url='https://www.google.com', clicks= 2)
    
   #Figuring out how to test each label
    def test_short_url_label(self):
        field_label = Url.objects.get()
        self.assertEqual(field_label, 'short_url')

В основном я хотел бы узнать, как я могу проверить метки моей модели через модульные тесты в test_models.py Что я должен использовать вместо field_label, чтобы иметь возможность использовать assertEqual()?

expected_fields = [...]
model_field_names = [field.name for field in YourModel._meta.get_fields()]

for field_name in expected_fields:
    self.assertTrue(field_name in model_field_names)
Вернуться на верх