Přidání Znalosti do modelu
This commit is contained in:
		
							parent
							
								
									174087edc7
								
							
						
					
					
						commit
						f61533df0a
					
				
					 3 changed files with 76 additions and 3 deletions
				
			
		|  | @ -4,7 +4,7 @@ from reversion.admin import VersionAdmin | |||
| from django.utils.safestring import mark_safe | ||||
| from django.utils.html import escape | ||||
| 
 | ||||
| from .models import Prednaska, Seznam, STAV_NAVRH | ||||
| from .models import Prednaska, Seznam, STAV_NAVRH, Znalost | ||||
| from soustredeni.models import Soustredeni | ||||
| 
 | ||||
| 
 | ||||
|  | @ -64,7 +64,7 @@ admin.site.register(Seznam, SeznamAdmin) | |||
| class PrednaskaAdmin(VersionAdmin): | ||||
| 	list_display = ['nazev', 'org', 'obor'] | ||||
| 	list_filter = ['org', 'obor'] | ||||
| 	search_fields = [] | ||||
| 	search_fields = ['nazev'] | ||||
| 	filter_horizontal = ('seznamy', ) | ||||
| 
 | ||||
| 	actions = ['move_to_soustredeni'] | ||||
|  | @ -97,3 +97,10 @@ class PrednaskaAdmin(VersionAdmin): | |||
| 
 | ||||
| 
 | ||||
| admin.site.register(Prednaska, PrednaskaAdmin) | ||||
| 
 | ||||
| 
 | ||||
| class ZnalostAdmin(PrednaskaAdmin): # Trochu hack, ať nemusím vypisovat všechno znovu | ||||
| 	list_display = [] | ||||
| 	list_filter = [] | ||||
| 
 | ||||
| admin.site.register(Znalost, ZnalostAdmin) | ||||
|  |  | |||
							
								
								
									
										39
									
								
								prednasky/migrations/0019_znalost_hlasovanioznalostech.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										39
									
								
								prednasky/migrations/0019_znalost_hlasovanioznalostech.py
									
									
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,39 @@ | |||
| # Generated by Django 4.2.16 on 2025-01-24 13:41 | ||||
| 
 | ||||
| from django.db import migrations, models | ||||
| import django.db.models.deletion | ||||
| 
 | ||||
| 
 | ||||
| class Migration(migrations.Migration): | ||||
| 
 | ||||
|     dependencies = [ | ||||
|         ('personalni', '0019_rename_upozorneni_resitel_upozornovat_na_opravy_reseni'), | ||||
|         ('prednasky', '0018_post_split_soustredeni'), | ||||
|     ] | ||||
| 
 | ||||
|     operations = [ | ||||
|         migrations.CreateModel( | ||||
|             name='Znalost', | ||||
|             fields=[ | ||||
|                 ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), | ||||
|                 ('nazev', models.CharField(help_text='Např. Neuronové sítě', max_length=200, verbose_name='Nadpis')), | ||||
|                 ('text', models.TextField(blank=True, help_text='Např. Perceptron, vrstevnatá síť, forward a backward propagation', null=True, verbose_name='Detailní popis')), | ||||
|                 ('seznamy', models.ManyToManyField(to='prednasky.seznam')), | ||||
|             ], | ||||
|             options={ | ||||
|                 'verbose_name': 'Znalost k přednáškám', | ||||
|                 'verbose_name_plural': 'Znalosti k přednáškám', | ||||
|                 'db_table': 'prednasky_znalost', | ||||
|             }, | ||||
|         ), | ||||
|         migrations.CreateModel( | ||||
|             name='HlasovaniOZnalostech', | ||||
|             fields=[ | ||||
|                 ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), | ||||
|                 ('odpoved', models.CharField(choices=[(-1, 'Tohle celkem umím'), (0, 'Už jsem o tom slyšel, ale neřekl bychm, že to úplně umím'), (1, 'Tohle vůbec neznám')], max_length=16, verbose_name='odpověď')), | ||||
|                 ('seznam', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='prednasky.seznam')), | ||||
|                 ('ucastnik', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='personalni.osoba')), | ||||
|                 ('znalost', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='prednasky.znalost')), | ||||
|             ], | ||||
|         ), | ||||
|     ] | ||||
|  | @ -1,7 +1,7 @@ | |||
| from django.db import models | ||||
| 
 | ||||
| from soustredeni.models import Soustredeni | ||||
| from personalni.models import Organizator | ||||
| from personalni.models import Organizator, Osoba | ||||
| 
 | ||||
| STAV_NAVRH = 1 | ||||
| STAV_BUDE = 2 | ||||
|  | @ -63,6 +63,33 @@ class Prednaska(models.Model): | |||
| 		return "{} ({})".format(self.nazev, self.org) | ||||
| 
 | ||||
| 
 | ||||
| class Znalost(models.Model): | ||||
| 	class Meta: | ||||
| 		db_table = 'prednasky_znalost' | ||||
| 		verbose_name = 'Znalost k přednáškám' | ||||
| 		verbose_name_plural = 'Znalosti k přednáškám' | ||||
| 
 | ||||
| 	nazev = models.CharField('Nadpis', max_length=200, blank=False, null=False, help_text = 'Např. Neuronové sítě') | ||||
| 	text = models.TextField('Detailní popis', blank=True, null=True, help_text="Např. Perceptron, vrstevnatá síť, forward a backward propagation") | ||||
| 	seznamy = models.ManyToManyField(Seznam) | ||||
| 
 | ||||
| 	def __str__(self): | ||||
| 		return self.nazev | ||||
| 
 | ||||
| 
 | ||||
| class HlasovaniOZnalostech(models.Model): | ||||
| 	class ODPOVED(models.IntegerChoices): | ||||
| 		UMIM = -1, 'Tohle celkem umím' | ||||
| 		CIRCA = 0, 'Už jsem o tom slyšel, ale neřekl bychm, že to úplně umím' | ||||
| 		NEUMIM = 1, 'Tohle vůbec neznám' | ||||
| 
 | ||||
| 	odpoved = models.CharField(u'odpověď', max_length=16, choices=ODPOVED.choices, blank=False, null=False) | ||||
| 	znalost = models.ForeignKey(Znalost, on_delete=models.CASCADE, blank=False, null=False) | ||||
| 	ucastnik = models.ForeignKey(Osoba, on_delete=models.CASCADE, blank=False, null=False) | ||||
| 	seznam = models.ForeignKey(Seznam, on_delete=models.SET_NULL, blank=True, null=True) | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| class Hlasovani(models.Model): | ||||
| 	class Meta: | ||||
| 		db_table = 'prednasky_hlasovani' | ||||
|  |  | |||
		Loading…
	
		Reference in a new issue