Well it turned out that i'm sending an Empty instance to inlineformset ... not very smart but for some reason i thought that form(request.POST) would actually know that this is an existing record.
Working implementation :
class EntityUpdate(updateView):
def post(self, request, *args, **kwargs):
form_class = self.get_form_class()
form = self.get_form(form_class)
p = get_object_or_404(Entity, slug=kwargs['slug'])
urls_form = myforms.url_formset(self.request.POST , instance = p) #Loading the formset with the appropriate instance parameter
if form.is_valid() and urls_form.is_valid():
return self.form_valid(form , urls_form)
else:
return self.form_invalid(form, urls_form)