mirror of
https://github.com/SectorLabs/django-localized-fields.git
synced 2025-04-25 11:42:54 +03:00
Avoid does not exist error when creating model with user defined pk
This commit is contained in:
parent
88e2d29596
commit
b3b88d6d28
@ -41,7 +41,7 @@ class LocalizedValueDescriptor:
|
|||||||
|
|
||||||
if self.field.name in instance.__dict__:
|
if self.field.name in instance.__dict__:
|
||||||
value = instance.__dict__[self.field.name]
|
value = instance.__dict__[self.field.name]
|
||||||
elif instance.pk is not None:
|
elif not instance._state.adding:
|
||||||
instance.refresh_from_db(fields=[self.field.name])
|
instance.refresh_from_db(fields=[self.field.name])
|
||||||
value = getattr(instance, self.field.name)
|
value = getattr(instance, self.field.name)
|
||||||
else:
|
else:
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
import json
|
import json
|
||||||
|
|
||||||
from django.conf import settings
|
from django.conf import settings
|
||||||
|
from django.db import models
|
||||||
from django.db.utils import IntegrityError
|
from django.db.utils import IntegrityError
|
||||||
from django.test import TestCase
|
from django.test import TestCase
|
||||||
|
|
||||||
@ -33,7 +34,6 @@ class LocalizedFieldTestCase(TestCase):
|
|||||||
field = LocalizedField(required=False)
|
field = LocalizedField(required=False)
|
||||||
assert field.required == []
|
assert field.required == []
|
||||||
|
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def test_from_db_value():
|
def test_from_db_value():
|
||||||
"""Tests whether the :see:from_db_value function
|
"""Tests whether the :see:from_db_value function
|
||||||
@ -205,6 +205,16 @@ class LocalizedFieldTestCase(TestCase):
|
|||||||
for field in field.formfield().fields:
|
for field in field.formfield().fields:
|
||||||
assert field.required
|
assert field.required
|
||||||
|
|
||||||
|
def test_descriptor_user_defined_primary_key(self):
|
||||||
|
"""Tests that descriptor works even when primary key is user defined."""
|
||||||
|
model = get_fake_model(dict(
|
||||||
|
slug=models.SlugField(primary_key=True),
|
||||||
|
title=LocalizedField()
|
||||||
|
))
|
||||||
|
|
||||||
|
obj = model.objects.create(slug='test', title='test')
|
||||||
|
assert obj.title == 'test'
|
||||||
|
|
||||||
def test_required_all(self):
|
def test_required_all(self):
|
||||||
"""Tests whether passing required=True properly validates
|
"""Tests whether passing required=True properly validates
|
||||||
that all languages are filled in."""
|
that all languages are filled in."""
|
||||||
|
Loading…
x
Reference in New Issue
Block a user