0

models.py

class FarmerAdvisory(BaseModel):
id = models.AutoField(db_column='id', primary_key=True)
    title = models.CharField(db_column='title', max_length=200, null=True, blank=True)
    description = models.CharField(db_column='description', max_length=750, null=True, blank=True)
    farmer_id = models.ForeignKey(Farmer, on_delete=models.CASCADE, null=True, db_column='farmer_id')

class Meta:
    verbose_name = 'Farmer Advisory'
    verbose_name_plural = 'Farmer Advisories'
    managed = True
    db_table = 'farmer_advisory'


class ReplyFarmerAdvisory(BaseModel):
    reply = models.CharField(db_column='reply', max_length=750, null=True, blank=True)
    label = models.CharField(db_column='label', max_length=100, null=True, blank=True)
    farmer_advisory_id = models.ForeignKey(FarmerAdvisory, on_delete=models.CASCADE, db_column='farmer_advisory_id')
    objects = models.Manager()

class Meta:
    verbose_name = 'Reply Farmer Advisory'
    verbose_name_plural = 'Reply Farmer Advisories'
    managed = True
    db_table = 'reply_farmer_advisory'


class AdvisoryMedia(models.Model):
    id = models.AutoField(db_column='id', primary_key=True)
    farmer_advisory_id = models.ForeignKey(FarmerAdvisory, on_delete=models.CASCADE,
                                           db_column='farmer_advisory_id',
                                           null=True, blank=True)
    reply_farmer_advisory_id = models.ForeignKey(ReplyFarmerAdvisory, on_delete=models.CASCADE,
                                                 db_column='reply_farmer_advisory_id', null=True, blank=True)
    farmer_media_file = models.CharField(db_column='farmer_media_file', max_length=50, null=True, blank=True)
    is_active = models.BooleanField(db_column='is_active', null=False, default=True)
    reply_media_file = models.FileField(upload_to=content_file_name, null=True, blank=True,
                                        db_column='reply_media_file')

    class Meta:
        verbose_name = 'Advisory Media'
        verbose_name_plural = 'Advisories Media'
        managed = True
        db_table = 'advisory_media'

admin.py

class AdvisoryMediaInline(NestedStackedInline):
    model = AdvisoryMedia
    extra = 0

class ReplyFarmerAdvisoryInline(NestedStackedInline):
    model = ReplyFarmerAdvisory
    extra = 1
    inlines = [AdvisoryMediaInline]

class FarmerAdvisoryAdmin(NestedModelAdmin):
    inlines = [ReplyFarmerAdvisoryInline]

I want to show the fields with respect to the farmer advisory. But when i am adding fk_name = 'farmer_advisory_id' inside AdvisoryMediaInline, i am getting error stating

ValueError: fk_name 'farmer_advisory_id' is not a ForeignKey to 'farmer.ReplyFarmerAdvisory'.

But i want to show the farmer advisory related fields which is not coming by itself.

I think what is happening is the model is looking for values with respect to the to foreign key reply advisory media instead of farmer advisory media.

Please let me know if my question is understandable, if yes please guide me through it.

0 Answers0