Feature(s) impacted
Forest admin edit ui
Observed behavior
Got an error when editing (company) data that has a related field in model
An error occured when trying to edit Company : Direct assignment to the reverse side of a related set is prohibited. Use contacts.set() instead.
And model are like :
class Company(models.Model):
name = models.CharField(max_length=250, unique=True)
qualification_status = models.CharField(
max_length=250,
choices=enum_to_list_map(QUALIFICATION_STATUS),
default=QUALIFICATION_STATUS.UNKNOW.value,
)
company_type = models.CharField(
max_length=250,
choices=enum_to_list_map(COMPANY_TYPE),
default=COMPANY_TYPE.UNKNOW.value,
)
consolidation_status = models.CharField(
max_length=250,
choices=enum_to_list_map(CONSOLIDATION_STATUS),
default=CONSOLIDATION_STATUS.NO_CONSOLIDATION_REQUIRED.value,
)
prospecting_status = models.CharField(
max_length=250,
choices=enum_to_list_map(PROSPECTING_STATUS),
default=PROSPECTING_STATUS.INACTIF.value,
)
domain = models.CharField(max_length=250, null=True, blank=True)
website = models.CharField(max_length=250, null=True, blank=True)
website_meta_description = models.CharField(max_length=250, null=True, blank=True)
website_content = models.CharField(max_length=5000, null=True, blank=True)
linkedin_page = models.CharField(max_length=500, null=True, blank=True)
address = models.CharField(max_length=250, null=True, blank=True)
city = models.CharField(max_length=250, null=True, blank=True)
postal_code = models.CharField(max_length=250, null=True, blank=True)
country = models.CharField(max_length=250, null=True, blank=True)
naf = models.CharField(max_length=250, null=True, blank=True)
naf_des = models.CharField(max_length=250, null=True, blank=True)
siren = models.CharField(max_length=250, null=True, blank=True)
siret = models.CharField(max_length=250, null=True, blank=True)
vat_number = models.CharField(max_length=250, null=True, blank=True)
staff_count = models.CharField(max_length=250, null=True, blank=True)
staff_interval = models.CharField(max_length=250, null=True, blank=True)
not_interesting_reason = models.CharField(max_length=250, null=True, blank=True)
score = models.IntegerField(default=0)
score_last_update = models.DateTimeField(null=True, blank=True)
_has_cto_in_contacts = models.BooleanField(default=False)
_has_devops_in_contacts = models.BooleanField(default=False)
class Contact(models.Model):
firstname = models.CharField(max_length=250, null=True, blank=True)
lastname = models.CharField(max_length=250, null=True, blank=True)
email = models.CharField(max_length=250, null=True, blank=True)
job_title = models.CharField(max_length=250, null=True, blank=True)
other_emails = models.CharField(max_length=250, null=True, blank=True)
linkedin = models.CharField(max_length=250, null=True, blank=True)
phones = models.CharField(max_length=250, null=True, blank=True)
company = models.ForeignKey(
Company, related_name='contacts', on_delete=models.CASCADE, null=True, blank=True
)
consolidation_status = models.CharField(
max_length=250, choices=enum_to_list_map(CONSOLIDATION_STATUS)
)
Expected behavior
Should edit the company field properly
Failure Logs
Frontend logs
An error occured when trying to edit Company : Direct assignment to the reverse side of a related set is prohibited. Use contacts.set() instead.
Backend logs
Bad Request: /forest/core_company/2276
Context
- Project name: Keltio Intent
- Team name: Keltio
- Environment name: Production
- Agent (forest package) name & version: django-forestadmin==1.4.11
- Database type: Mysql
- Recent changes made on your end if any: Added
blank
to all model attributes because otherwise i must provide all the data to save data for a specific company