如何检查模型的数据是否准确连接?

时间:2017-09-14 09:24:16

标签: python django

我想检查模型的数据是否准确连接。 models.py是

class User(models.Model):
    trunsaction_id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
    regist_date = models.DateTimeField(auto_now=True)
    user_id = models.CharField(max_length=200,null=True)
    name = models.CharField(max_length=200,null=True)
    age = models.CharField(max_length=200,null=True)
    area = models.ForeignKey('Area',null=True, blank=True)

class Area(models.Model):
    name = models.CharField(max_length=20, verbose_name='Area', null=True)

class Prefecture(models.Model):
    name = models.CharField(max_length=20, verbose_name='Prefecture')
    area = models.ForeignKey('Area', null=True, blank=True)

class City(models.Model):
    name = models.CharField(max_length=20, verbose_name='City')
    prefecture = models.ForeignKey('Prefecture', null=True, blank=True)

class Price(models.Model):
    upper1000 = models.CharField(max_length=20, verbose_name='u1000', null=True)
    from500to1000 = models.CharField(max_length=20, verbose_name='500~1000', null=True)
    under500 = models.CharField(max_length=20, verbose_name='d500', null=True)
    city = models.ForeignKey('City', null=True, blank=True)

模型的数据意味着Area& Prefecture& City& Price,所以我想知道这些数据是否与User准确连接。我可以检查这个吗?我找不到它通过使用DB Browser for SQLite来查看db.sqlite3。如何我在终端打印答案?

1 个答案:

答案 0 :(得分:2)

Django中的数据库功能已经过充分测试,我认为这不应该像你期望的那样工作。

但是,单元测试可能会帮助您验证模型是否确实正确。您可以构建最小的,隔离的单元测试,尝试创建,保存和获取模型,并在整个操作过程中验证结构是否完整。

例如,受Django documentation:

启发的最小测试套装
from django.test import TestCase
from myapp.models import User

class UserTestCase(TestCase):
    def setUp(self):
        area = Area.objects.create(name='foobar')
        User.objects.create(user_id="foo", area=area)

    def test_user_has_area_reference(self):
        user = User.objects.get(user_id="foo")
        self.assertEquals(user.area.name, 'foobar')