我一直在寻找解决方案,现在已经有几天了,我无法使其发挥作用。
情景如下:
我尝试使用django import-export导入数据(例如类型为CountryCondition),在此之前,我想验证它们。如果某些行包含无效数据,我想创建一个带有错误的Message对象并保存。消息模型具有用户外键,因此当用户登录时,他可以看到与他相关的所有消息。
这是我的代码
消息模型:
class Message(models.Model):
""" Message. """
user = models.ForeignKey(User)
msg_text = models.CharField(max_length=512, verbose_name=_('Message'))
CountryConditions ModelResource:
class CountryConditionsResource(resources.ModelResource):
def skip_row(self, instance, original):
...
message = Message(msg_text='a message')
with transaction.atomic():
message.save()
我希望为当前登录的用户保存邮件。
非常感谢您提前
修改1: CountryConditions 模型(根据@Rahul Gupta请求)
class CountryConditions(models.Model):
country = models.OneToOneField(Country, verbose_name=_('country_name'))
iec_current = models.DecimalField( max_digits=11, decimal_places=2, default=0.00, verbose_name=_('iec_current'))
iec_current_one = models.DecimalField(max_digits=11, decimal_places=2, default=0.00, verbose_name=_('iec_current_one'))
iec_final = models.DecimalField(max_digits=11, decimal_places=2, default=0.00, verbose_name=_('iec_final'))
def __str__(self):
return 'Conditions for %s' % self.country.name
def save(self, force_insert=False, force_update=False, using=None, update_fields=None):
self.calculate_iec_final()
super(CountryConditions, self).save()
def calculate_iec_final(self):
...
class Meta:
...