Skip to content

Cannot search Natural Key when use unique=True in a NaturalKeyModel #25

Description

@stanbird08

models.py:
class FloorPlan(NaturalKeyModel):
name = models.CharField(max_length=100, null=False, unique=True)
stories = models.CharField(max_length=10, null=True, default=Single)

class FloorPlanFacade(models.Model):
floorplan_name = models.ForeignKey(FloorPlan, on_delete=models.CASCADE, null=False)
name = models.CharField(max_length=100, null=False)
image = models.ImageField(upload_to='floorplanfacade_images/%Y/%m/%d/')

wizard.py
class FloorPlanFacadeSerializer(NaturalKeyModelSerializer):
class Meta:
model = FloorPlanFacade
fields = "all"

Excel spreadsheet, Facade.xls
floorplan_name, name, image

On Admin -> Data Wizard - Sources -> Import via data wizard,
After mapping columns, I have to manually match floorplan_name column with values in FloorPlan, instead of searching natural key automatically.

However, if I added FloorPlan model with unqiue_together, the foreign key values are automatically matched with columns.

class FloorPlan(NaturalKeyModel):
name = models.CharField(max_length=100, null=False, unique=True)
stories = models.CharField(max_length=10, null=True, default=Single)

class Meta:
    unique_together = (('floorplan_name', 'name'),)

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions