私はtestappを作成し、あなたの問題をテストします
models.py
from django.db import models
class Test2(models.Model):
date = models.DateField(editable=False)
class Test(models.Model):
test2 = models.ForeignKey(Test2)
tests.py
from django.test import TestCase
from models import Test, Test2
from datetime import datetime, date
class SimpleTest(TestCase):
def test_field_update(self):
old_date = date(2012,11,11)
current_date = datetime.today().date()
t2 = Test2(date = old_date)
t2.save()
t1 = Test(test2 = t2)
t1.save()
for test_obj in Test.objects.all():
test2_obj = test_obj.test2
test2_obj.date = current_date
test2_obj.save()
test_obj.save()
t2 = Test2.objects.all()[0]
self.assertEqual(t2.date, current_date)
テストを実行する
.. >manage.py テスト testapp
エイリアス 'default' のテスト データベースを作成しています... . -------------------------------------------------- -------------------- 0.016 秒で 1 つのテストを実行
OK エイリアス 'default' のテスト データベースを破棄しています...
これは、投稿したものではなく、期待どおりに機能します。