How do I get the actual object id in a Django admin page (inside formfield_for_foreignkey)?

后端 未结 7 957
爱一瞬间的悲伤
爱一瞬间的悲伤 2020-12-15 09:59

I \'ve already solved the problem of getting the object id being edited using this code:

class CompanyUserInline(admin.StackedInline):
    \"\"\"
    Defines         


        
7条回答
  •  庸人自扰
    2020-12-15 10:12

    I made it work by creating a property() in model.py that returns the ID

    models.py:

    class MyModel(models.Model):
        myfield = models.CharField(max_length=75)
        ...
        def get_id(self):
            return str(self.id)
        getid = property(get_id)
    

    admin.py:

    from myapp.models import MyModel
    
    class MyModelAdmin(admin.ModelAdmin):
        list_display = ['mylink',]
        def mylink(self, object):
            return 'Edit'
        mylink.allow_tags = True
    
    admin.site.register(MyModel, MyModelAdmin)
    

提交回复
热议问题