Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class ProblemsInContest(CreateUpdateDateModel):
- contest = models.ForeignKey(Contest)
- problem = models.ForeignKey(ContestProblem)
- class Meta:
- verbose_name = "Problem in Contest"
- verbose_name_plural = "Problems in Contest"
- def __str__(self):
- return "{problem}".format(problem=self.problem)
- class ContestProblemInline(admin.TabularInline):
- model = ProblemsInContest
- extra = 1
- class ContestAdmin(admin.ModelAdmin):
- inlines = [
- ContestProblemInline,
- ]
- class ContestProblemInline(admin.TabularInline):
- model = ProblemsInContest
- def formfield_for_foreignkey(self, db_field, request=None, **kwargs):
- field = super(RoomInline, self).formfield_for_foreignkey(db_field, request, **kwargs)
- if db_field.name == 'your_field_name':
- if request._obj_ is not None:
- field.queryset = field.queryset.filter(your_field_name = request._obj_)
- else:
- field.queryset = field.queryset.none()
- return field
- class ContestAdmin(admin.ModelAdmin):
- inlines = (ContestProblemInline,)
- def get_form(self, request, obj=None, **kwargs):
- # just save obj reference for future processing in Inline
- request._obj_ = obj
- return super(ContestAdmin, self).get_form(request, obj, **kwargs)
Add Comment
Please, Sign In to add comment