私は既に公開されているプロジェクトに取り組んでいますので、の注文のオブジェクトとのユーザーのオブジェクト(数人の人が登録して注文しました)が公開されています。Djangoでデータと認証情報をエクスポートしてインポートするには?
今、私は注文モデルを含め、このプロジェクトではいくつかのことを変更しています(などcreated_time
のようないくつかのフィールドを追加しました)
だから私の新しいデータベース(sqlite3のは)古いに比べて非常に類似したスキーマを持っていますが、それはありません同じ。
古いユーザーを追加するにはどうすればいいですか?オブジェクトを新しいデータベースに注文しますか?いくつかのプラグインやベストプラクティスはありますか?
ユーザースキーマは変更されていませんが、app_users
テーブルではコピーできません。
class Order(models.Model):
customer = models.ForeignKey(User, related_name='orders', blank=True, null=True)
first_name = models.CharField(max_length=40,verbose_name=u'Vorname')
last_name = models.CharField(max_length=40,verbose_name=u'Nachnahme')
dry_wood = models.PositiveIntegerField(blank=True, null=True, default=0,verbose_name=u'Trockenes Holz')
wet_wood = models.PositiveIntegerField(blank=True, null=True, default=0,verbose_name=u'Halb trockenes Holz')
briquette = models.PositiveIntegerField(blank=True, null=True, default=0,verbose_name=u'Brikettes')
stelinka = models.PositiveIntegerField(blank=True, null=True, default=0,verbose_name=u'Klein Holz')
street = models.CharField(max_length=200, verbose_name=u'Straße', null=True, blank=True)
number = models.CharField(max_length=40, null=True, blank=True, verbose_name=u'Hausnummer')
city = models.CharField(max_length=100, verbose_name=u'Stadt', null=True, blank=True)
psc = models.CharField(max_length=40, null=True, blank=True, verbose_name=u'PLZ')
telephone = models.CharField(max_length=50, null=True, blank=True, verbose_name=u"Telefon Nummer")
telephone2 = models.CharField(max_length=50, null=True, blank=True, verbose_name=u'Telefon 2')
email = models.EmailField(null=True, blank=True,verbose_name=u'Mail')
time = models.TextField(null=True, blank=True, verbose_name=u'Kommentar')
price = models.DecimalField(max_digits=20, decimal_places=2, blank=True, null=True)
text_order = models.TextField(blank=True, null=True, verbose_name=u'Kommentar')
confirmed = models.BooleanField(default=False, verbose_name=u'Potvrdená zákazníkom')
done = models.BooleanField(default=False, verbose_name=u'Vybavená')
TYPE_CHOICES = (('wholesale', u'Veľkoodber'),
('retail', u'Maloodber'))
type = models.CharField(max_length=40, choices=TYPE_CHOICES, default='retail')
created = models.DateTimeField(auto_now_add=True, blank=True, null=True)
LENGTH_OF_DRY_WOOD_CHOICES = (('1.0','1.0'),
('0.5', '0.5'),
('0.33', '0.33'),
('0.25', '0.25'))
LENGTH_OF_WET_WOOD_CHOICES = (('1.0','1.0'),
('0.5', '0.5'),
('0.33', '0.33'),
('0.25', '0.25'))
length_of_dry_wood = models.CharField(max_length=40, choices=LENGTH_OF_DRY_WOOD_CHOICES, default='0.5', null=True, blank=True,verbose_name=u'Länge des Holzes (Trockenes Holz)')
length_of_wet_wood = models.CharField(max_length=40, choices=LENGTH_OF_WET_WOOD_CHOICES, default='0.5', null=True, blank=True,verbose_name=u'Länge des Holzes')
backuped = models.BooleanField(default=False)
class Meta:
verbose_name = u'Objednávka'
verbose_name_plural = u'Objednávky'
def save(self, *args, **kwargs):
if self.type == 'retail':
self.price = Price.calculate_price(self.dry_wood, self.wet_wood, self.briquette, self.stelinka)['total']
else:
self.price = 0
super(Order, self).save(*args, **kwargs)
def __str__(self):
return u'Objednávka {} | {} {} | {} € {} {}'.format(self.id, self.first_name, self.last_name, self.price, u'| >>>>>>> NEPOTVRDENÁ <<<<<<<' if not self.confirmed else '',
u'| >> VYBAVENÁ <<' if self.done else '')
def __unicode__(self):
return self.__str__()
は更新したいんモデル内のデータか、DB内のデータのみ?最後に、フィクスチャを使用してください:http://stackoverflow.com/documentation/django/4933/database-setup/17482/fixtures – FeedTheWeb
これはおそらく私が探しているものです。私はそれをチェックするつもりです。 –
これはモデル化するフィールドが追加されていても機能します。あなたが望むなら、それを答えとして掲示することができます。ありがとう –