mirror of
https://github.com/scrapy/scrapy.git
synced 2025-02-26 22:04:01 +00:00
Merge pull request #160 from midiotthimble/patch-1
Pass into the model only existing fields test passing OK and changes makes sense
This commit is contained in:
commit
483a70cb5b
@ -25,7 +25,8 @@ class DjangoItem(Item):
|
|||||||
django_model = None
|
django_model = None
|
||||||
|
|
||||||
def save(self, commit=True):
|
def save(self, commit=True):
|
||||||
modelargs = dict((f, self.get(f, None)) for f in self._model_fields)
|
modelargs = dict((k, self.get(k)) for k in self._values
|
||||||
|
if k in self._model_fields)
|
||||||
model = self.django_model(**modelargs)
|
model = self.django_model(**modelargs)
|
||||||
if commit:
|
if commit:
|
||||||
model.save()
|
model.save()
|
||||||
|
@ -78,3 +78,7 @@ class DjangoItemTest(unittest.TestCase):
|
|||||||
|
|
||||||
self.assertEqual(person.name, 'John')
|
self.assertEqual(person.name, 'John')
|
||||||
|
|
||||||
|
def test_default_field_values(self):
|
||||||
|
i = BasePersonItem()
|
||||||
|
person = i.save(commit=False)
|
||||||
|
self.assertEqual(person.name, 'Robot')
|
||||||
|
@ -2,7 +2,7 @@ from django.db import models
|
|||||||
|
|
||||||
|
|
||||||
class Person(models.Model):
|
class Person(models.Model):
|
||||||
name = models.CharField(max_length=255)
|
name = models.CharField(max_length=255, default='Robot')
|
||||||
age = models.IntegerField()
|
age = models.IntegerField()
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user