|
18 | 18 | AbstractBase, ConcreteAttr, ConcreteUtil, SelfFK, Temperature, WaterLevel,
|
19 | 19 | ExternalModel1, ExternalModel3, UnicodeVerboseName, HistoricalChoice,
|
20 | 20 | HistoricalState, HistoricalCustomFKError, Series, SeriesWork, PollInfo,
|
21 |
| - UserAccessorDefault, UserAccessorOverride, Employee |
| 21 | + UserAccessorDefault, UserAccessorOverride, Employee, Country, Province, |
| 22 | + City |
22 | 23 | )
|
23 | 24 | from ..external.models import ExternalModel2, ExternalModel4
|
24 | 25 |
|
@@ -257,6 +258,21 @@ def test_self_referential_foreign_key(self):
|
257 | 258 | self.assertEqual([m.fk_id for m in model.history.all()],
|
258 | 259 | [other.id, model.id, None])
|
259 | 260 |
|
| 261 | + def test_to_field_foreign_key_save(self): |
| 262 | + country = Country.objects.create(code='US') |
| 263 | + country2 = Country.objects.create(code='CA') |
| 264 | + province = Province.objects.create(country=country) |
| 265 | + province.country = country2 |
| 266 | + province.save() |
| 267 | + self.assertEqual([c.country_id for c in province.history.all()], |
| 268 | + [country2.code, country.code]) |
| 269 | + |
| 270 | + def test_db_column_foreign_key_save(self): |
| 271 | + country = Country.objects.create(code='US') |
| 272 | + city = City.objects.create(country=country) |
| 273 | + country_field = City._meta.get_field('country') |
| 274 | + self.assertTrue(getattr(country_field, 'db_column') in str(city.history.all().query)) |
| 275 | + |
260 | 276 | def test_raw_save(self):
|
261 | 277 | document = Document()
|
262 | 278 | document.save_base(raw=True)
|
|
0 commit comments