[fix] upload excel & add user

This commit is contained in:
Data-Name-ID
2024-04-02 11:03:29 +03:00
parent 9f233eb163
commit 630e8e2114
3 changed files with 10 additions and 12 deletions
+3 -3
View File
@@ -5,15 +5,15 @@ from api.users.models import User
class UserSerializer(serializers.ModelSerializer): class UserSerializer(serializers.ModelSerializer):
event_id = serializers.IntegerField()
class Meta: class Meta:
model = User model = User
fields = "__all__" fields = "__all__"
def create(self, validated_data): def create(self, validated_data):
try: try:
event = Event.objects.get( event = Event.objects.get(pk=validated_data.pop("event_id"))
pk=self.context["view"].kwargs.get("event_id")
)
except Event.DoesNotExist as e: except Event.DoesNotExist as e:
msg = "Event does not exist" msg = "Event does not exist"
raise serializers.ValidationError(msg) from e raise serializers.ValidationError(msg) from e
+1 -1
View File
@@ -8,7 +8,7 @@ from api.users.views import (
app_name = "users" app_name = "users"
urlpatterns = [ urlpatterns = [
path("register/<event_id>/", RegisterUserView.as_view(), name="register"), path("register/", RegisterUserView.as_view(), name="register"),
path( path(
"upload/excel/<event_id>/", "upload/excel/<event_id>/",
RegisterUsersFromExcelView.as_view(), RegisterUsersFromExcelView.as_view(),
+6 -8
View File
@@ -22,7 +22,6 @@ class UserViewSet(ReadOnlyModelViewSet):
serializer_class = UserSerializer serializer_class = UserSerializer
#! Починить вьюшку, сделать экспорт
class RegisterUsersFromExcelView(APIView): class RegisterUsersFromExcelView(APIView):
def post(self, request, event_id): def post(self, request, event_id):
try: try:
@@ -43,14 +42,13 @@ class RegisterUsersFromExcelView(APIView):
try: try:
df = pd.read_excel(excel_file) df = pd.read_excel(excel_file)
for index, row in df.iterrows(): for _, row in df.iterrows():
# Создаем нового пользователя
user = User.objects.create( user = User.objects.create(
first_name=row["First Name"], first_name=row["first_name"],
last_name=row["Last Name"], last_name=row["last_name"],
email=row["Email"], email=row["email"],
birth_date=row["Birth Date"], birth_date=row["birth_date"],
bio=row["Bio"], bio=row["bio"],
) )
event.users.add(user) event.users.add(user)