Я нашел решение своей проблемы, что я доволен:
[_tableView insertRowsAtIndexes:indexSet withAnimation:NSTableViewAnimationEffectGap];
[[NSOperationQueue mainQueue] addOperationWithBlock:^{
NSUInteger firstIndex = [indexSet firstIndex];
[_tableView scrollRowToVisible:firstIndex];
}];
Я просто задерживаю запрос прокрутки до следующего цикла цикла.
В вашем файле admin.py вам нужно переопределить UserAdmin
следующим образом:
class CustomUserAdmin(BaseUserAdmin):
form = CustomUserChange
add_form = CustomUserCreation
list_display = ('email', 'username', 'password', 'q1', 'q2')
fields = ('email', 'username', 'password', 'q1', 'q2')
model = CustomUser
admin.site.register(CustomUser, UserAdmin)
Посмотрите этот пример в документации, чтобы лучше понять ссылку
Вы можете просто создать модель профиля пользователя с отношением OneToOne и запустить ее, используя сигнал всякий раз, когда пользователь был добавлен, не касаясь модели пользователя.
from django.db.models.signals import post_save
from django.dispatch import receiver
from django.contrib.auth.models import User
class Profile(models.Model):
user=models.OneToOneField(User, on_delete=models.CASCADE)
q1 = models.TextField()
q2 = models.TextField()
def __unicode__(self):
return self.user.q1
def create_profile(sender, **kwargs):
user = kwargs["instance"]
if kwargs["created"]:
user_profile = Profile(user=user)
user_profile.save()
post_save.connect(create_profile, sender=User)
Пожалуйста, отметьте следующие вещи в вашем проекте django.
AUTH_USER_MODEL = 'users.models.CustomUser'
в свой файл settings.py
? Убедитесь, что вы добавили q1
и q2
в свой атрибут fields
в CustomUserAdmin
как следовать:
class CustomUserAdmin(UserAdmin):
add_form = CustomUserCreation
form = CustomUserChange
list_display = ['email', 'username', 'password', 'q1', 'q2']
fields = ['email', 'username', 'password', 'q1', 'q2']
model = CustomUser