S'il vous plaît comment puis-je mis à jour exporté Company modèle ci-dessous en utilisant le signal post_export. Je ne souhaite pas exporter les éléments non exportés auparavant. Donc, la meilleure chose est d'utiliser des signaux.django-import-export: obtenir post_export pour mettre à jour les modèles
Cependant, si j'imprime le modèle dans le signal à la fin du code ci-dessous, je reçois une classe de type, par exemple <class 'app.models.Company'>
Je sais que je fais quelque chose de mal en sauvant un modèle mais ne peut pas trouver mon chemin près.
Peut-être que je ne comprends pas la documentation de la bibliothèque django-import-export
qui se trouve here.
models.py
class Company(models.Model):
class Meta:
verbose_name_plural = "Companies"
company_name = models.CharField(max_length=254, blank=True)
website = models.URLField(max_length=254, unique=True)
address = models.CharField(max_length=254, blank=True, null=True)
imported = models.BooleanField(default=False)
exported = models.BooleanField(default=False)
user = models.ForeignKey(User)
def __str__(self):
if self.company_name:
return self.company_name
return self.domain
admin.py
from django.dispatch import receiver
from import_export.signals import post_import, post_export
class CompanyResource(resources.ModelResource):
class Meta:
model = Company
fields = ('website', 'user', 'country', 'source', 'industry')
@admin.register(Company)
class CompanyAmin(ImportExportModelAdmin):
resource_class = CompanyResource
list_display = ('domain', 'website', 'exported', 'added_on')
list_filter = ('user', 'country', 'imported', 'exported', 'added_on')
@receiver(post_export, dispatch_uid='ss1')
def _post_export(model, **kwargs):
print(model)
model.exported = True
model.save() # This line when included raises Error: "save() missing 1 required positional argument: 'self'" so code breaks here
Le django-import-export n » t spécifiez ceci dans la documentation. Aussi dans le code source que j'ai vérifié expéditeur est Aucun – codelove
juste ignorer l'expéditeur –
Merci cela résolu mon problème – codelove